본문 바로가기

백준20

[백준/파이썬3/2439] 별 찍기 -2 오답 A= int(input()) for i in range(A): print(" "*(A-i-1),"*"*(i+1)) 처음에 i가 0부터 시작을 하므로 첫줄이 뜨게 된다. (위: 정답 출력, 아래: 오답 출력) 정답 A=int(input()) for i in range(1,A+1): print(" "*(A-i) + "*"*i) 2019. 12. 16.
[백준/파이썬3/2742] 기찍N 풀이 N = int(input()) for i in range(N): print(N-i) for문을 사용하여 위와 같이 풀수있다. 2019. 12. 13.
[백준/파이썬3/2839] 설탕 배달 풀이 와... 문제 풀다가 좌절크리.. ㅋㅋㅋㅋ 오답1: 처음에는 너무 단순하게 "어 그냥 5로 나눠 떨어지면 5빼고 그러다가 안되면 3으로 나눠 떨어지나 확인 후에 3을 빼면서 카운팅 하나씩 하면 되는거 아닌가" 라고 생각했는데. 그러나 3을 뺀 후에는 다시 5로 나누어지나 다시 확인을 해야한다. sugar = int(input()) count = 0 while sugar%5 == 0 and sugar>=5: sugar -= 5 count+=1 while sugar%3 == 0 and sugar>=3: sugar -= 3 count+=1 if sugar == 0 : print (count) else: print (-1) 오답2: 어, 3을 빼고 다시 올라가야되는거면 그냥 이중루프 걸면 되는건가라는 아주.. 2019. 12. 10.
[백준/파이썬3/15596] 정수 N개의 합 풀이 아래 내용을 다시 자세하게 읽어보면, n개가 저장되있으므로 그냥 배열 전체의 합을 더해도 된다..... 따라서 코드는 아래와 같다. def solve(a): #배열 a를 함수를 통해서 전달받고 return sum(a) #모든 배열의 원소를 함수 sum을 통해서 더하면된다. 2019. 12. 9.
[백준/파이썬3/2562] 최댓값 풀이 처음에 접근은 C++ 처럼 반복문을 이용해서 배열에서 최댓값을 구하고 반복 과정에서 다른 변수를 이용하여 최대값의 index를 저장하려고 하였는데, 파이썬의 경우는 더욱 간단하게 풀 수 있다. num_list = [] for i in range(9): #0~8 까지 총 9개 num_list.append(int(input())) print(max(num_list)) #최대값 구하느 함수 max() print(num_list.index(max(num_list))+1) #0부터 시작하니 인덱스 값에 1을 추가. 2019. 12. 8.
[백준/파이썬3/1463] 1로 만들기 풀이 x = int(input()) dp = [0 for _ in range(x+1)] dp[1] = 0 for i in range(2, x+1): dp[i] = dp[i-1]+1 if not i%2 and dp[i]>dp[i//2]+1: dp[i] = dp[i//2]+1 if not i%3 and dp[i]>dp[i//3]+1: dp[i] = dp[i//3]+1 print (dp[x]) 우선, Dp문제 이해가 안갔다. 유튜브 영상 몇개 보면서 감이 오는거 같긴했는데...... 머리가 평균이하인듯 ;ㅅ; 그래서 아나콘다에서 Spyder라는 툴을 이용해서 배열에 들어가는 값을 시각화 해보았다. 이해가 안가신다면 코드를 빤히 10분만 쳐다보시면 뭔가가 보일 것이다. 우선 index의 숫자를 보시면 예를 들어.. 2019. 12. 4.
[백준/파이썬3/1000] A+B A+B 성공 한국어 시간 제한메모리 제한제출정답맞은 사람정답 비율 2 초 128 MB 234986 102439 75663 45.114% 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 첫째 줄에 A+B를 출력한다. 예제 입력 1 복사 1 2 예제 출력 1 복사 3 정답 A,B= map(int, input().split()) print(A+B) 아마 파이썬을 처음 접하시는 분이라면 입력 방법에 대해서 헷갈리실 텐데, map() 함수는 여러개를 연달아 입력을 받겠다는 겁니다. split()는 떨어뜨리겠다는 거구요.. input().split()로 쓰였으니 입력사이에 떨어진 공간이 있다고 생각하시면됩니다... 2019. 11. 24.
[백준/파이썬3/2557] Hello World Hello World성공 시간 제한메모리 제한제출정답맞은 사람정답 비율 1 초 128 MB 216306 97808 75891 45.790% 문제 Hello World!를 출력하시오. 입력 없음 출력 Hello World!를 출력하시오. 정답 print("Hello World!") 설명無. 2019. 11. 24.