백준 2869 : 달팽이는 올라가고 싶다.
2869 달팽이는 올라가고 싶다.문제를 보고 바로 생각한것은 그냥 반복문 쓰면 빠르게 해결될 것이다? 라는 생각이였다.하지만 반복문으로 해본 결과 시간제한 1초가 나왔고, 문제에서는 시간제한이 0.25초 였던 것이다.a, b, v = map(int, input().split())x, y = 0, 0def func(a, b, v): global x, y while True: y += 1 x += a if x >= v: return y else: x -= bprint(func(a, b, v))위 코드가 반복문을 사용해서 했던 코드이다.그럼 시간 초가 촉박한 문제들을 과거에는 어떻게 풀었을까?나의 경우는 시간초..
백준 1193 : 분수찾기
1193번 분수찾기문제에서 나열된 분수들이 지그재그 순서로 차례대로 1번, 2번, 3번,4번,... 분수라고 하였고, 첫 줄에 x(1아이디어문제에서 나온 순서를 토대로 배열을 만들면1/11/2, 2/13/1, 2/2, 1/31/4, 2/3, 3/2, 4/15/1, 4/2, 3/3, 2/4, 1/5...위와 같이 계속 반복되어 질 것이다.여기서 각 줄마다 특징을 알아보아야 한다!- 짝수 라인 : 분모가 1씩 늘어나고 분자가 1씩 줄어든다.- 홀수 라인 : 분자가 1씩 늘어나고 분모가 1씩 줄어든다.이제 규칙(특징)을 찾았으니까 몇번째 줄에 몇번째 위치의 분수가 무엇인지를 알아내야 한다. while num > line: num -= line line += 1 while문의 loop를 사용해 몇번째 줄이고 몇..
백준 2720번 세탁소 사장 동혁 문제 풀이
https://www.acmicpc.net/problem/2720 문제 요약: 주어진 금액을 동전(쿼터, 다임, 니켈, 페니)으로 바꿀 때, 각 동전의 개수를 구하는 문제입니다.기본 풀이먼저, 기본적인 접근 방식은 다음과 같습니다Z = int(input()) for a in range(Z): C = int(input()) for i in [25, 10, 5, 1]: count = C // i print(count, end=" ") C = C % i print() - 어차피 금액 단위가 정해져 있으니, 큰 단위부터 몫을 반환하고 나머지를 다시 금액으로 할당, 이 과정을 반복하면 되는 문제였다.- 처음에는 반복 과정에서 for문을 쓰..