목록백준 (9)
초보 개발자의 일기
https://www.acmicpc.net/problem/10866 내 풀이 from collections import deque import sys d = deque() n = int(input()) for i in range(n): command = sys.stdin.readline().split() if command[0] == "push_front": d.appendleft(command[1]) elif command[0] == "push_back": d.append(command[1]) elif command[0] == "pop_front": if d: print(d[0]) d.popleft() else: print("-1") elif command[0] == "pop_back": if d: p..
https://www.acmicpc.net/problem/16953 내 풀이 a, b=map(int,input().split()) result=1 while 1: if (a==b): break elif (b%2 !=0 and b%10!=1) or (a>b): result=-1 break else: if (b%10==1): b=b//10 result+=1 else: b=b//2 result+=1 print(result) 해결 방법 a ->b로 생각하는 하는 것이 아니라 뒤에서부터 앞으로 역으로 생각을 해서 풀면 그렇게 어렵지 않은 문제였다. 이 방법을 생각하지 못해 많이 시간이 들었다. 구글 풀이 a, b=map(int,input().split()) index=1 while a
https://www.acmicpc.net/problem/5585 5585번: 거스름돈 타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사 www.acmicpc.net 내 풀이 a=int(input()) coin=[500,100,50,10,5,1] result=0 rest=1000-a for i in coin: result=result+rest//i rest=rest%i print(result) 해결 방법 잔돈의 종류를 coin이라는 리스트에 저장하고 for문을 이용해 반복문을 돌렸다. 잔돈의 개수 result에 남은 돈 rest//i를 이..
https://www.acmicpc.net/problem/10162 10162번: 전자레인지 3개의 시간조절용 버튼 A B C가 달린 전자레인지가 있다. 각 버튼마다 일정한 시간이 지정되어 있어 해당 버튼을 한번 누를 때마다 그 시간이 동작시간에 더해진다. 버튼 A, B, C에 지정된 시간은 www.acmicpc.net 내 풀이 i=input() i=int(i) if i%10 !=0: print(-1) else: a=0 b=0 c=0 a=i//300 b=(i%300)//60 c=((i%300)%60)//10 print(a,b,c) 해결 방법 일단 10초 60초 300초 3가지의 경우의 수가 있으므로 일의 자리의 수가 0이면 조건을 만족하지 않는다 그래서 i%10!=0을 조건으로 넣어 -1을 출력하고 30..
https://www.acmicpc.net/problem/1049 내 풀이 a,b=map(int, input().split()) multi_list=list() single_list=list() for i in range(b): z,y=(map(int, input().split())) multi_list.append(z) single_list.append(y) c=min(multi_list) d=min(single_list) result=0 if c>d*6: result=d*6 elif c
https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 내 풀이 ㅠㅠ 해결 방법 알고리즘은 이해는 하였다. -뒤에 있는 모든 숫자를 다 괄호로 묶어서 빼면 되는데 어떻게 코드를 짜야할지 계속 고민하였다. 고민하다가 구글링을 통해서 코드를 보았는데 생각보다 단순해서 아쉬웠다. 구글 풀이 https://mong9data.tistory.com/66 a=input().split('-') sum=0 for i in a[0].split('+'): sum=s..
https://www.acmicpc.net/problem/2720 2720번: 세탁소 사장 동혁 각 테스트케이스에 대해 필요한 쿼터의 개수, 다임의 개수, 니켈의 개수, 페니의 개수를 공백으로 구분하여 출력한다. www.acmicpc.net 내 풀이 a=int(input()) coin_list=list() quarter=0 dime=0 nickel=0 penny=0 for i in range(a): coin_list.append(int(input())) for i in range(a): z=int(coin_list[i]) quarter=z//25 dime=(z%25)//10 nickel=((z%25)%10)//5 penny=(((z%25)%10)%5)//1 print(quarter,dime,nickel,..