본문 바로가기

코딩 테스트/백준 파이썬 문제 풀이

(62)
[백준 2480번 파이썬] 주사위 세개 세 개의 주사위를 던져서 세 주사위 다 같은 눈이 나오면 10000 + (같은 눈) * 1000 두 주사위만 같은 눈이 나오면 1000 + (같은 눈) * 100 다 다른 눈이 나오면 (제일 큰 눈) * 100원의 상금을 받는 코드를 작성하면 된다 import sys a, b, c = map(int, sys.stdin.readline().split()) if a == b and a == c: print(10000 + a * 1000) elif a == b or a == c: print(1000 + a * 100) elif b == c: print(1000 + b * 100) else: print(max(a, b, c) * 100) 조건문 파트답게 if문을 사용하면 쉽게 작성할 수 있는데 이때 elif문은..
[백준 2525번 파이썬] 오븐 시계 현재 시간의 시와 분을 입력받으면 두 번째 입력값인 소요 시간이 흐른 뒤의 시간을 출력하는 문제이다 소요 시간이 분 단위로 들어오는 점을 감안해서 출력값에서 시는 24시를 넘기지 않고, 분은 60분을 넘기지 않게 코딩하면 된다 import sys H, M = map(int, sys.stdin.readline().split()) a = int(sys.stdin.readline()) H += a//60 M += a%60 if M > 59: H += 1 M -= 60 if H > 23: H -= 24 print(H, M) 몫 나눗셈과 나머지 나눗셈을 통해 시와 분에 각자 증가시켜야 할 값을 더하고 그 값이 각각 24와 60 이상이 되지 않았는지 조건문을 통해 검증하면 된다
[백준 18108번 파이썬] 1998년생인 내가 태국에서는 2541년생?! 문제 CPC Bangkok Regional에 참가하기 위해 수완나품 국제공항에 막 도착한 팀 레드시프트 일행은 눈을 믿을 수 없었다. 공항의 대형 스크린에 올해가 2562년이라고 적혀 있던 것이었다. 불교 국가인 태국은 불멸기원(佛滅紀元), 즉 석가모니가 열반한 해를 기준으로 연도를 세는 불기를 사용한다. 반면, 우리나라는 서기 연도를 사용하고 있다. 불기 연도가 주어질 때 이를 서기 연도로 바꿔 주는 프로그램을 작성하시오. 입력 서기 연도를 알아보고 싶은 불기 연도 y가 주어진다. (1000 ≤ y ≤ 3000) 출력 불기 연도를 서기 연도로 변환한 결과를 출력한다. 불기 연도와 서기 연도의 차이를 출력해야하는 문제이다 올해는 2562년이라는 말이 적혀있지만 올해라는 건 정확한 연도 표시를 하고 있지 ..
[백준 10926번 파이썬] ??! 문제 준하는 사이트에 회원가입을 하다가 joonas라는 아이디가 이미 존재하는 것을 보고 놀랐다. 준하는 놀람을 ??!로 표현한다. 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어졌을 때, 놀람을 표현하는 프로그램을 작성하시오. 입력 첫째 줄에 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어진다. 아이디는 알파벳 소문자로만 이루어져 있으며, 길이는 50자를 넘지 않는다. 출력 첫째 줄에 준하의 놀람을 출력한다. 놀람은 아이디 뒤에 ??!를 붙여서 나타낸다. 이 문제는 여느 홈페이지 로그인 화면에서 확인할 수 있는 아이디 중복 확인을 주제로 한 것이다 다행히 문제에 분명하게 적혀 있듯이 이미 존재하는 아이디를 입력한다는 전제가 깔려있다 그렇기 때문에 입력받은 문자열 뒤에 ??!을 ..
[백준 10950번 파이썬] A+B - 3 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 각 테스트 케이스마다 A+B를 출력한다. 문제를 다시 이해해 보자면 두 수를 입력했을 때 두 수의 덧셈을 출력하는 코드인데, 그 코드를 몇 번 반복할 건지를 가장 먼저 입력받고 케이스 순서대로 입력값을 받고, 출력값을 줘야 한다. num = int(input()) for i in range(num): A, B = map(int, input().split()) print(A+B) 이번에도 for문을 집중해서 봐줘야 하는데, 현재의 range 안에는 숫자가 하나 들..
[백준 2739번 파이썬] 구구단 문제 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. 입력 첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 9보다 작거나 같다. 출력 출력형식과 같게 N*1부터 N*9까지 출력한다. 입력값으로 숫자 하나를 받으면 그 숫자의 구구단을 외우는 코드를 작성해야 한다 a = int(input()) for i in range(1,10): print(a, '*', i, '=', a*i) 이번 코드에서는 for문과 print문을 자세히 봐야한다 for 문은 다른 코드들과 달리 파이썬에서는 매우 간단한 형식을 사용하는데 이때 range에 들어가 있는 두 수는 시작하는 숫자와 멈추는 숫자를 나타낸다 10까지 돌고 끝나는 것이 아니라 10이 되면 멈춘다는 의미를 ..
[백준 2884번 파이썬] 알람 시계 문제 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, 조금만 더 자려는 마음은 그 어떤 것도 없앨 수가 없었다. 이런 상근이를 불쌍하게 보던, 창영이는 자신이 사용하는 방법을 추천해 주었다. 바로 "45분 일찍 알람 설정하기"이다. 이 방법은 단순하다. 원래 설정되어 있는 알람을 45분 앞서는 시간으로 바꾸는 것이다. 어차피 알람 소리를 들으면, 알람을 끄고 조금 더 잘 것이기 때문이다. 이 방법을 사용하면, 매일 아침 더 잤다는 기분을 느낄 수 있고, 학교도 지각하지 않게 된다. 현재 상근이가 설정한 알람 시각이 주어졌을 때, 창영이의 방법을 사용한다면, 이를 언제로..
[백준 14681번 파이썬] 사분면 고르기 문제 흔한 수학 문제 중 하나는 주어진 점이 어느 사분면에 속하는지 알아내는 것이다. 사분면은 아래 그림처럼 1부터 4까지 번호를 갖는다. "Quadrant n"은 "제n사분면"이라는 뜻이다. 예를 들어, 좌표가 (12, 5)인 점 A는 x좌표와 y좌표가 모두 양수이므로 제1사분면에 속한다. 점 B는 x좌표가 음수이고 y좌표가 양수이므로 제2사분면에 속한다. 점의 좌표를 입력받아 그 점이 어느 사분면에 속하는지 알아내는 프로그램을 작성하시오. 단, x좌표와 y좌표는 모두 양수나 음수라고 가정한다. 입력 첫 줄에는 정수 x가 주어진다. (−1000 ≤ x ≤ 1000; x ≠ 0) 다음 줄에는 정수 y가 주어진다. (−1000 ≤ y ≤ 1000; y ≠ 0) 출력 점 (x, y)의 사분면 번호(1, 2,..