코딩테스트(python)/백준 (29) 썸네일형 리스트형 백준 10250번 파이썬 1. 문제 2.해설 오늘은 처음으로 시간초과가 뜨지 않았다! 다만 중간에 착각해서 층과 호의 값을 바꿔서 넣는 실수를..ㅠㅠ 그래도 지금까지 푼 문제 중 가장 접근을 잘 했던 것 같아 뿌듯하다! 층 : N%H 호: N//H +1 ( // => 나누기 연산 후 소수점 이하의 수를 버리고, 정수 부분의 수만 구함) 만약 N%H가 0 인 경우, 층: H 호: N//H 3.코드 T = int(input()) for i in range(0,T): H, W, N = map(int, input().split()) if N%H!=0: print((N%H)*100+((N//H)+1)) else: print(H*100+N//H) 백준 2869번 파이썬 1. 문제 2.해설 처음엔 간단한 문제라고 생각하고 while문으로 접근하여 시간초과가 떴다. 정답은 숫자가 입력되면 바로바로 답이 출력되도록 코드를 짜야하는 것이였다. 식을 세워보면, a*day-b*(day-1) = v ==> 정상에 도착하면 미끄러지지 않기 때문 3.코드 import math a, b, v = map(int, input().split()) day = (v-b)/(a-b) print(math.ceil(day)) 백준 1193번 파이썬 1.문제 2.설명 1/1 -> (1/2->2/1) -> (3/1->2/2->1/3) -> (1/4->2/3->3/2->4/1) ... 짝수 열: 분자 오름차순 정렬/ 분모 내림차순 정렬 홀수 열: 분자 내림차순 정렬/ 분모 오름차순 정렬 변수 x는 위치를 찾기 위해 사용한다. 변수 x가 대각선 line보다 작아질 때, 해당하는 line에 찾고있는 x가 위치한 것으로 판단한다. 3.코드 x = int(input()) line = 1 while x > line: x -= line line += 1 if line % 2 == 0: a = x b = line - x + 1 else: a = line - x + 1 b = x print(a, "/", b, sep = "") 나는 이중for문을 사용하여 풀었는데, .. 백준 2292번 파이썬 1. 문제 2. 풀이 지나가야하는 방의 갯수가 1씩 증가하 -> 각 case에 해당하는 숫자들의 합이 6의 배수의 형태로 증가 1개 지나는 경우: 1 -> 1개 2개 지나는 경우: 2~7 -> 6개 3개 지나는 경우: 8~19 -> 12개 4개 지나는 경우: 20~37 ->18개 ... temp -> 각 case에 해당하는 숫자의 마지노선을 저장하는 변수(1,7,19 등) piles -> 지나가는 방의 갯수 3. 코드 num=int(input()) temp = 1 piles = 1 while temp < num: temp = temp + (6 * piles) piles = piles + 1 print(piles) 6의 배수로 증가하는 규칙은 파악했는데, 접근을 이상하게(?) 해서 잠깐 정신이 혼미했지만... 백준 1712번 파이썬 1. 문제 2. 풀이 판매 갯수를 n이라고 하면, 손익분기점은 c x n = a+(b x n)이 된다. -> n = a/(c-b) 이익은 손익분기점을 넘어야 발생하므로, n 에 1을 더해준 값이 최초로 이익이 발생하는 판매량이 된다. 생산가격이 판매가격보다 비싸거나 같으면 손익분기점이 존재하지 않는다. 3. 코드 a, b, c = map(int, input().split()) if b>=c: print(-1) else: print(int(a/(c-b)+1)) 이전 1 2 3 4 다음