본문 바로가기

분류 전체보기

(263)
[백준 파이썬] #2530: 인공지능 시계 www.acmicpc.net/problem/2530 2530번: 인공지능 시계 첫째 줄에 종료되는 시각의 시, 분, 초을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수이며, 분, 초는 0부터 59까지의 정수이다. 디지털 시계는 23시 59분 59초에서 1초가 지나면 0시 0 www.acmicpc.net [정답] 1. 훈제 오리 구이를 시작하는 시각을 받아 A,B,C에 넣어준다. 2. 오븐구이를 하는 데 필요한 시간을 D에 넣어준다. ( A B C D = 23 30 0 4000이라 가정하고 문제를 설명하겠다. ) 3. 먼저 해당하는 시,분,초에 해당하는 값들을 더해준다. - C+=D ex) C=0 D=4000 → C=4000 - B+=C//60 ex) B=30 C=4000 → B=96 ..
[백준 파이썬] #3046: R2 www.acmicpc.net/problem/3046 3046번: R2 두 숫자 R1과 R2가 있을 때, 두 수의 평균 S는 (R1+R2)/2와 같다. 상근이는 정인이 생일 선물로 두 숫자 R1과 R2를 주려고 한다. 생일 파티에서 상근이는 정인이에게 이 두 숫자를 말해주고, 정인이는 www.acmicpc.net [정답] 1. R1, S를 int형태로 입력받는다. 2. R2=S*2-R1이니까 R2를 출력한다. 두 숫자 R1과 R2가 있을 때, 두 수의 평균 S는 (R1+R2)/2와 같다. S=(R1+R2)/2 이므로 R2=S*2-R1이다. 쉬운 것부터 풀자 라는 생각으로 백준 > 문제집 > Python 배우기(1~50)을 풀어보았는데,, 이건 프로그래밍이 아닌 그냥 수학이었다,,
[백준 파이썬] #1225: 이상한 곱셈 www.acmicpc.net/problem/1225 1225번: 이상한 곱셈 첫째 줄에 A와 B가 주어진다. 주어지는 두 수는 모두 10,000자리를 넘지 않는다. www.acmicpc.net [오답1] → 시간초과 [오답2] → 시간초과 쉬운 문제라고 생각하고 풀었는데 계속 시간 초과가 나와서 당황스러웠다,, [정답] 1. 두 수를 입력받아 list형태로 A,B를 정의한다. ex) A=['1','2','3'], B=['4','5'] 2. A와 B, 리스트의 문자열을 int형태로 변환해준다. ex) A=[1,2,3], B=[4,5] 3. A의 sum과 B의 sum을 곱하여 출력한다. 3번 부분을 생각해내어 문제를 다시 풀었더니 시간초과가 나지 않았다. - 시간초과가 난 오답의 경우, 123 45를 문자열..
[백준 파이썬] #15654: N과 M(5) www.acmicpc.net/problem/15654 15654번: N과 M (5) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net [정답] 1. 두 수를 입력받아 N,M을 정의한다. 2. 중복을 제외한 순열에 사용될 N개의 수를 리스트형태로 num_list에 넣어준다. 3. 순열은 사전 순으로 증가하는 순서대로 출력해야 하므로 sort() 함수를 사용하여 오름차순 정렬을 해준다. 3. itertools 모듈의 permutations() 함수를 사용하여 중복을 제외한 순열을 구한다. 4. for문을 돌면서 중복을 제외한 순열을 차례..
[백준 파이썬] #15652: N과 M(4) www.acmicpc.net/problem/15652 15652번: N과 M (4) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net [정답] 1. 두 수를 입력받아 N,M을 정의한다. 2. 1부터 N까지의 자연수 중에서 고르는 문제니까 수 1~N을 list에 넣는다. 3. itertools 모듈의 combinations_with_replacement() 함수를 사용하여 중복 조합을 구한다. 4. for문을 돌면서 중복 조합을 차례대로 출력한다. 이 문제는 #15649:N과 M(1) & #15650:N과 M(2) & #15651:N과 M(3..
[백준 파이썬] #15651: N과 M(3) www.acmicpc.net/problem/15651 15651번: N과 M (3) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net [정답] 1. 두 수를 입력받아 N,M을 정의한다. 2. 1부터 N까지의 자연수 중에서 고르는 문제니까 수 1~N을 list에 넣는다. 3. itertools 모듈의 product() 함수를 사용하여 중복 순열을 구한다. ( 주의할 점: 이전 permutations() 함수와 combinations() 함수는 두 번째 파라미터에 repeat을 안 적어도 되었지만, product() 함수의 경우 repeat를 ..
[백준 파이썬] #15650: N과 M(2) www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net [정답] 1. 두 수를 입력받아 N,M을 정의한다. 2. 1부터 N까지의 자연수 중에서 고르는 문제니까 수 1~N을 list에 넣는다. 3. itertools 모듈의 combinations() 함수를 사용하여 중복을 제외한 순서 상관없는 조합을 구한다. 4. for문을 돌면서 중복을 제외한 순서 상관없는 조합을 차례대로 출력한다. 이 문제는 #15649:N과 M(1)의 연장선 문제이다. #15649:N과 M(..
[백준 파이썬] #15649: N과 M(1) www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net [정답] 1. 두 수를 입력받아 N,M을 정의한다. 2. 1부터 N까지의 자연수 중에서 고르는 문제니까 수 1~N을 list에 넣는다. 3. itertools 모듈의 permutations() 함수를 사용하여 중복을 제외한 순열을 구한다. 4. for문을 돌면서 중복을 제외한 순열을 차례대로 출력한다. itertools 모듈 - product() : 중복 순열 ex) product('ABC',repeat=2)..