본문 바로가기

알고리즘 공부

(207)
[백준 파이썬] #10039: 평균 점수 https://www.acmicpc.net/problem/10039 10039번: 평균 점수 입력은 총 5줄로 이루어져 있고, 원섭이의 점수, 세희의 점수, 상근이의 점수, 숭이의 점수, 강수의 점수가 순서대로 주어진다. 점수는 모두 0점 이상, 100점 이하인 5의 배수이다. 따라서, 평균 점 www.acmicpc.net [정답1] 1. 점수의 합을 sum을 선언한다. 2. for문을 5번 돌면서 점수를 score에 입력하고 만약 score
[백준 파이썬] #1264: 모음의 개수 https://www.acmicpc.net/problem/1264 1264번: 모음의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 영어 대소문자, ',', '.', '!', '?', 공백으로 이루어진 문장이 주어진다. 각 줄은 최대 255글자로 이루어져 있다. 입력의 끝에는 한 줄 www.acmicpc.net [문제 정리] 영문 문장을 입력받아 모음의 개수를 세는 프로그램을 작성하시오. 모음은 'a', 'e', 'i', 'o', 'u'이며 대문자 또는 소문자이다. 입력의 끝에는 한 줄에 '#' 한 글자만이 주어진다. [문제 접근] 문장에서 어떤 문자를 세는 것이니까 count()함수를 사용하면 되겠다. [정답] 1. while문을 무한으로 돌면서 영문 문장을 입력받을 word를 초..
[백준 파이썬] #11721: 열 개씩 끊어 출력하기 https://www.acmicpc.net/problem/11721 11721번: 열 개씩 끊어 출력하기 첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다. www.acmicpc.net [문제 정리] 알파벳 소문자와 대문자로만 이루어진 길이가 N인 단어가 주어진다. 한 줄에 10글자씩 끊어서 출력하는 프로그램을 작성하시오. [문제 접근] 문자열을 10자씩 끊어야 하므로 N[0:10], N[10:20] 이런 식으로 문자열 슬라이싱을 이용하면 되겠다. [정답1] 1. 단어 N을 입력받는다. 2. for문을 돌면서 문자열을 10개씩 출력한다. (len(N)-1)//10+1 : [1] len(N)에 -1을 한 이유는..
[백준 파이썬] #10845: 큐 https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net [정답] 먼저 queue에 대한 함수들을 정의한다. 1. 'push X: 정수 X를 큐에 넣는 연산이다.' → push(X): append() 함수를 사용하여 큐 q_queue에 인자값 X를 push한다. 2. 'pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.' → pop(): len(q_queue)==0..
[백준 파이썬] #1924: 2007년 https://www.acmicpc.net/problem/1924 1924번: 2007년 첫째 줄에 빈 칸을 사이에 두고 x(1 ≤ x ≤ 12)와 y(1 ≤ y ≤ 31)이 주어진다. 참고로 2007년에는 1, 3, 5, 7, 8, 10, 12월은 31일까지, 4, 6, 9, 11월은 30일까지, 2월은 28일까지 있다. www.acmicpc.net [문제 정리] 오늘은 2007년 1월 1일 월요일이다. 그렇다면 2007년 x월 y일은 무슨 요일일까? [문제 접근] 며칠, 무슨 요일 이런 문제가 나오면 calendar과 date가 생각난다. 2007년의 요일을 구하는 문제이므로 calendar모듈을 사용하였다. [정답] 1. calendar모듈을 import한다. 2. 월을 나타내는 x와 일을 나타내는..
[백준 파이썬] #2522: 별 찍기-12 https://www.acmicpc.net/problem/2522 2522번: 별 찍기 - 12 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net [문제 정리] 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. ex) N=3 → * ** *** ** * [문제 접근] N=3 3의 (i=1) 첫번쨰 줄: ' 'x2 + '*'x1 3의 (i=2) 두번째 줄: ' 'x1 + '*'x2 3의 (i=3) 세번쨰 줄: ' 'x0 + '*'x3 ------------------------------------→ ' 'x(N-i) + '*'xi 3의 (i=2) 네번째 줄: ' 'x1 + '*'x2 3의 (i=1) 다섯번쨰 줄: ' 'x2 + '*'x1 ---------------..
[백준 파이썬] #5717: 상근이의 친구들 https://www.acmicpc.net/problem/5717 5717번: 상근이의 친구들 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 두 정수 M과 F로 이루어져 있으며, 각각은 상근이의 남자 친구의 수와 여자 친구의 수이다. (1 ≤ M, F ≤ 5) 입력의 마지막 www.acmicpc.net [문제 정리] 상근이의 남자 친구의 수와 여자 친구의 수가 주어졌을 때, 친구는 총 몇 명인지 구해라. ex) 2 2 → 4, 5 3 → 8, 0 0→ 종료 [문제 접근] while문을 사용해 0 0이 입력되면 종료하고 0 0이 아니라면 두 수를 더해 출력한다. [정답] 1. while문을 사용하여 남자 친구의 수 M과 여자 친구의 수 F을 입력받는다. 2. 만약 M+F==0이라면,..
[백준 파이썬] #2711: 오타맨 고창영 https://www.acmicpc.net/problem/2711 2711번: 오타맨 고창영 첫째 줄에 테스트 케이스의 개수 T(1