문제풀이/BOJ

백준 알고리즘
·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/2596 2596번: 비밀편지 병현이는 지은이에게 문자 A, B, C, D, E, F, G, H 로 쓰여진 편지를 날마다 보내는데, 컴퓨터로 보내는 비밀편지로, 한 문자마다 0 또는 1인 숫자 여섯 개를 사용하여 보낸다. 둘 사이의 약속은 다음과 www.acmicpc.net [풀이] 병현이가 보낸 문자를 6자씩 끊어 리스트 s_li에 저장하고 둘 사이의 약속은 리스트 promise에 저장한다. 3중 중첩 반복문으로 병현이가 보낸 문자 s_li를 기준으로 두고 promise와 차례대로 한 문자씩 비교하면서 각 자리의 문자가 일치할 경우 cnt가 1 증가한다. 병현이가 문자를 제대로 보냈을 경우와 한 자만 틀렸을 경우(cnt >= 5)에는 해..
·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/2587 2587번: 대표값2 어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30의 평균은 가 된다. 평균 www.acmicpc.net [풀이] 리스트.sort()만 쓰면 중앙값 쉽게 구할 수 있음 [코드] if __name__ == '__main__': number = [int(input()) for _ in range(5)] number.sort() print(round(sum(number) / 5)) print(number[2])
·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/2592 2592번: 대표값 어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30, 20, 60, 30, 40, 50의 평균은 www.acmicpc.net [풀이] 간단한 계산 문제 코드 단순화에 중점을 뒀다. ## 1번 number = [] for _ in range(10): number.append(int(input())) ## 2번 number = [int(input()) for _ in range(10)] 1번 → 2번 간단하게 구현 ## 1번 for i in range(len(number)): su..
·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net [풀이] 1-1. string.upper - 문자열을 대문자로 변경하는 함수 문자열 내부의 모든 알파벳을 대문자로 변경한다. 예를들어 w = "Mississipi" 이고 w.upper() 함수를 사용하면 모든 알파벳을 대문자로 변환해 w를 변경하는 것이 아닌 새로운 문자열을 반환한다. 1-2. string.lower - 문자열을 소문자로 변경하는 함수 1-3. string.isupper - 문자가 대문자인지 확인하는 함수..
·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/1673 1673번: 치킨 쿠폰 강민이는 치킨 한 마리를 주문할 수 있는 치킨 쿠폰을 n장 가지고 있다. 이 치킨집에서는 치킨을 한 마리 주문할 때마다 도장을 하나씩 찍어 주는데, 도장을 k개 모으면 치킨 쿠폰 한 장으로 교환 www.acmicpc.net [풀이] [코드] import sys if __name__ == '__main__': for i in sys.stdin.readlines(): n, k = map(int, i.strip().split()) chicken = n while n // k: chicken += n // k n = n // k + n % k print(chicken)
·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/1296 1296번: 데이트 첫째 줄에 오민식의 영어 이름이 주어진다. 둘째 줄에는 좋아하는 여자가 몇 명인지 N이 주어지고, 셋째 줄부터 N개의 줄에 여자의 이름이 하나 씩 주어진다. N은 50보다 작거나 같고, 모든 이름은 www.acmicpc.net [풀이] 되게 쉬운 문제라고 생각하고 풀었는데 이름 중에 알파벳 'L'이 들어가지 않은 사람일 경우 어떤 수에 0을 곱해도 0이 돼 예제 입력 소녀시대 멤버들의 이름에는 'L'이 들어가는 사람이 없어 모든 확률이 0이 되는 게 이해가 안 돼서 뭔가 헤맸다.. 그냥 확률이 다 0이고 그 0 중 'HYOYEON'의 알파벳 'H'가 알파벳이 가장 앞서 정답으로 출력되는 거였다. 하하 1. co..
·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/1371 1371번: 가장 많은 글자 첫째 줄부터 글의 문장이 주어진다. 글은 최대 5000글자로 구성되어 있고, 공백, 알파벳 소문자, 엔터로만 이루어져 있다. 그리고 적어도 하나의 알파벳이 있다. www.acmicpc.net [풀이] 1. sys.stdin.readline() std.stdin.readline() 은 개행문자 \n 이 같이 입력받아지기 때문에 반복문으로 여러 줄을 입력받는 상황에서는 반드시 std.stdin.readline() 을 반드시 사용해야 한다. [코드] import sys if __name__ == '__main__': sentence = sys.stdin.read() alphabet = 'abcdefghijk..
·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/2864 2864번: 5와 6의 차이 첫째 줄에 두 정수 A와 B가 주어진다. (1
·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/2863 2863번: 이게 분수? 첫째 줄에 표를 몇 번 돌려야 표의 값이 최대가 되는지 출력한다. 만약, 그러한 값이 여러개라면 가장 작은 값을 출력한다. www.acmicpc.net [풀이] 처음에 간단하게 생각하고 제출한 코드가 결과는 맞게 나오는데 틀렸다고 나와서.. 아무리 생각해도 틀리는 이유를 모르겠기에 코드 수정을 하지 않고 싹 갈아엎었다. 백준은 틀리면 틀린 테스트 케이스를 알려줬으면 좋겠다... 쓰다 보니 생각난 건데 그냥 다음부터는 랜덤수 받아와서 테스트해보면 될 것 같다 ㅎㅎ 규칙을 찾다 보니 표의 아래줄의 순서를 거꾸로 받고, 맨 마지막 숫자 table[3] 만 첫번째(table[0]) 에 위치시키고 나머지 수는 순서..
서채리
'문제풀이/BOJ' 카테고리의 글 목록 (16 Page)