본문 바로가기

백준

(8)
[C언어] while문 , 1110번 백준 더하기싸이클 1. 문제 2. 코드 다른 사람들에게는 쉬운 문제 일수도 있겠으나 나에게는 정말 너무 어려웠다...거의 3시간걸린듯하다.. 친구는 10분도 안되서 푸는걸 보고 자존감이 내려가긴했지만.. 그만큼 더 노력해야지 생각을했다. ```c #include int main(void) { int N; int one; int ten; int res; int digit; int count = 0; scanf("%d",&N); digit = N; while(1) { ten = digit / 10; //숫자의 십의자리 one = digit % 10; //숫자의 일의자리 res = (ten + one) % 10; // 더한 값, digit의 오른쪽부분의 값 digit = (one * 10) + res; // 십의자리로 만들기위..
[1차원 배열] 백준 최소,최대, 최대값 입력한 수들의 최소값과 최대값을 구하는 간단한문제 답안 코드 import sys T = int(sys.stdin.readline()) a = list(map(int, sys.stdin.readline().split())) print(min(a), max(a)) 최소인 min과 최대인 max를 사용해 출력하면된다. 다음문제 몰라서 답을보고 공부했지만 이해하는데도 오래걸렸다,, ㅠ 답안코드 a = [] #빈 리스트값을 정의 for i in range(9): #반복문을 이용해 9번동안 입력 a.append(int(input())) #append를 이용해 추가한다 print(max(a))#최대값 출력 print(a.index(max(a))+1) #파이썬은 0부터시작하므로 +1
[while]백준 10952, 더하기 사이클 내가 풀은 코드 while True: a, b = map(int, input().split(" ")) sum = a + b if sum == 0: break print(sum) True로 무한으로 입력받게 한뒤 이때 t 소문자로 쓰면 안된다. 다음 sum값을 주고 if를 써서 합이 0이면 break, 한뒤 sum을 출력하도록 했다. 다음 더하기 사이클 문제 진짜 애먹은문제.. 아무리 손코딩하고 해도 계속 오류가나서 결국 답을 보았지만 답을 봐도 잘모르겠어서 이해하는데 오래걸렸다.. 정답 코드 N = int(input()) new = N count = 0 while True: a = new//10 # 10의자리 2 b = new % 10 # 일의 자리 6 c = (a+b) % 10 # 값의 일의자리 8 n..
[for] 백준 x보다 작은수 답안 N, X = map(int, input().split()) a = list(map(int, input().split())) for i in a: if i < X: print(i, end=' ') a는 수열이므로 list로 감싸서 입력을 받아준다. 굉장히 간단한 문제였지만 빙빙 돌아서 .. 골아팠던문제 아직 많이부족한듯하다
[for] 백준 별찍기1,2 T = int(input()) for i in range(1, T+1): print('*'*i) 이렇게간단한 문제엿는데.. 헤매고있었다... 다음문제 머리가 안돌아가서 한참을 헤맸다...으음... 정답 코드 T = int(input()) for star in range(1, T+1): print(" "*(T-star), end="") print("*"*star)
[for] 백준 구구단, a+b, 합 백준 for문을 이용한 구구단만들기 N = int(input()) for g in range(1, 10): print(N, "*", g, "=", N*g) N을 입력받고 , range을 이용해 1부터 10미만 즉 9까지 곱해주면 된다. 다음 문제 답은 N = int(input()) for h in range(N): a, b = map(int, input().split()) print(a+b) for 문안에 a,b 입력을 받고 n번만큼 계속 합해주는 리스트를 만들어주면 끝이다. 답 N = int(input()) sum = 0 for h in range(1, N+1): sum += h print(sum)
[if] 백준 사분면고르기 , 알람시계 if문을 이용한 쉬운문제, x, y = map(int, input().split()) if x > 0 and y > 0: print("1") elif x 0: print("2") elif x 0 and y < 0: print("4") x와 y를 입력받고 if형식을 다써주면된다. 이때 &이 아닌 and를 사용해주면된다. 이문제는 정말..제일 어려웠다...먼저 답 공개 h, m = map(int, input().split()) m = m - 45 if m < 0: h = h-1 m = m+60 if h < 0: h = h+24 print(h, m) 내가 풀이한 방법은 입력받은 시간에서 45분 빨라야하므로 입력받고나서 m에 4..
[곱셈 ]백준 곱셈 문제 처음으로 막혀서 아무것도 할수 없던 문제였다.. 각자의 수를 어떻게 빼서 곱하지..? 라는 생각으로 아무것도 하지못하였다.. 그래도 좀만생각해보니 답이 나왔다 ! 답은 바로 ~ a = int(input()) b = int(input()) print(a*(b % 10)) print(a*((b % 100)//10)) print(a*(b//100)) print(a*b) 하는법만 알면 굉장히 쉬운문제이다. (3)값을 구하기위해서 10의 나머지를 구하면 맨끝자리 (2)의 값은 b를 100으로 나눈 나머지에 10을 나눈 몫으로 a를 곱하면 되고 (5)또한 b에 100을 나눈 몫을 구하면된다.