본문 바로가기

코딩테스트/BOJ

(51)
[백준/파이썬] 5635번: 생일 (Python) 문제 www.acmicpc.net/problem/5635 5635번: 생일 어떤 반에 있는 학생들의 생일이 주어졌을 때, 가장 나이가 적은 사람과 가장 많은 사람을 구하는 프로그램을 작성하시오. www.acmicpc.net 풀이 n = int(input()) data = [] minyear = 2021 for i in range(0,n): data.append(input().split()) data.sort(key=lambda x:(int(x[3]), int(x[2]), int(x[1]))) print(data[-1][0]) print(data[0][0]) 정리 년, 월, 일을 lambda표현식을 이용해 오름차순으로 정렬해준다. data.sort(key=lambda x: x[3]) 은 x[3]을 기준으로..
[백준/파이썬] 1408번: 24 (Python) 문제 www.acmicpc.net/problem/1408 풀이 h,m,s = map(int,input().split(':')) h1, m1, s1 = map(int,input().split(':')) curtime = h*3600 + m*60 + s totime = h1*3600 + m1*60 + s1 if h > h1: totime += 24*3600 time = totime - curtime a = str(time//3600) b = str((time%3600)//60) c = str((time%3600)%60) if (time//3600)//10 == 0: a = "0" + str(time//3600) if ((time%3600)//60)//10 == 0: b = "0" + str((time%360..
[백준/파이썬] 11098번: 첼시를 도와줘! (Python) 문제 www.acmicpc.net/problem/11098 풀이 n = int(input()) for _ in range(n): p = int(input()) max = 0 for _ in range(p): c,name = input().split() c = int(c) if c > max: max = c mName = name print(mName)
[백준/파이썬] 2476번: 주사위 게임 (Python) 문제 www.acmicpc.net/problem/2476 2476번: 주사위 게임 첫째 줄에는 참여하는 사람 수 N이 주어지고 그 다음 줄부터 N개의 줄에 사람들이 주사위를 던진 3개의 눈이 빈칸을 사이에 두고 각각 주어진다. www.acmicpc.net 풀이 n = int(input()) maxMoney = 0 for i in range(n): a,b,c = map(int, input().split()) if a == b == c : maxMoney = max(maxMoney, 10000+a*1000) elif a == b: maxMoney = max(maxMoney, 1000+a*100) elif a == c: maxMoney = max(maxMoney, 1000+a*100) elif b == c: ..
[백준/파이썬] 2480번: 주사위 세개 (Python) 문제 www.acmicpc.net/problem/2480 2480번: 주사위 세개 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)*1,000원의 상금을 받게 된다. 같은 눈이 2개만 www.acmicpc.net 풀이 data = list(map(int,input().split())) if data[0] == data[1] and data[0] == data[2] and data[1] == data[2]: print(10000+data[0]*1000) elif data[0] == data[1] or data[0] == data[2]: print(1000+data[0]*100) elif data[1]..
[백준/파이썬] 10156번: 과자 (Python) 문제 www.acmicpc.net/problem/10156 10156번: 과자 첫 번째 줄에는 과자 한 개의 가격 K, 사려고 하는 과자의 개수 N, 현재 동수가 가진 돈 M이 각각 공백을 사이에 두고 주어진다. 단, K, N은 1,000 이하의 양의 정수이고, M은 10만 이하의 양의 정수이 www.acmicpc.net 풀이 k, n, m = list(map(int, input().split())) print(((k*n)-m) if ((k*n)-m) >= 0 else 0) 정리 단순 동수가 가진 돈 - (과자개수*과자가격)으로 계산하면 되는문제다. 그런데 동수가 과자를 사고남을만큼 충분한 돈을 가지고 있을때는 부모님께 받아야할 돈이 없다는점도 생각하면서 풀어야 한다.
[백준/파이썬] 1789번: 수들의 합 (Python) 문제 www.acmicpc.net/problem/1789 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net 풀이 s = int(input()) N = 0 result = 0 for i in range(1,s+1): result += i N += 1 if(result > s): N -= 1 break; print(N) 정리 서로다른 자연수 N개의 합이 S이다. S까지 1을 순차적으로 더해가다가 그 값이 S보다 커지면 N-1이 문제의 정답이 된다.
[백준/파이썬] 2525번: 윤년 (Python) 문제 www.acmicpc.net/problem/2753 2753번: 윤년 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서 www.acmicpc.net 풀이 year = int(input()) if year%4 == 0 : if(year % 100 != 0 or year % 400 == 0): print(1) else: print(0) else: print(0)