반응형

boj 14

[백준] 1157 단어 공부

문제알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.입력첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다.출력첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다. 처음 쓴 코드word = input().upper()alphabet_count = {}for w in word: alphabet_count[w] = alphabet_count.get(w, 0) + 1 # 알파벳 개수 카운팅M = [k for k, v in alphabet_count..

코딩테스트 2025.04.18

[백준] 10798 세로 읽기

문제아직 글을 모르는 영석이가 벽에 걸린 칠판에 자석이 붙어있는 글자들을 붙이는 장난감을 가지고 놀고 있다. 이 장난감에 있는 글자들은 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’부터 ‘9’이다. 영석이는 칠판에 글자들을 수평으로 일렬로 붙여서 단어를 만든다. 다시 그 아래쪽에 글자들을 붙여서 또 다른 단어를 만든다. 이런 식으로 다섯 개의 단어를 만든다. 아래 그림 1은 영석이가 칠판에 붙여 만든 단어들의 예이다. A A B C D Da f z z 0 9 1 2 1a 8 E W g 6P 5 h 3 k x한 줄의 단어는 글자들을 빈칸 없이 연속으로 나열해서 최대 15개의 글자들로 이루어진다. 또한 만들어진 다섯 개의 단어들의 글자 개수는 서로 다를 수 있다. 심심해진 영석..

코딩테스트 2025.04.18

[백준] 9046 복호화

문제암호학에서 치환 암호(substitution cipher)란, 평문에 들어있는 각각의 문자를 주어진 치환 방법으로 암호화하는 방법 중 하나다.가장 단순한 방법은 평문의 알파벳을 암호문의 알파벳으로 대치시켜 치환시키는 것이다.예를 들어, 아래와 같은 알파벳 대치표가 주어졌다고 하자.평문 알파벳 대치표 : abcdefghijklmnopqrstuvwxyz암호문 알파벳 대치표 : wghuvijxpqrstacdebfklmnoyz위에 주어진 치환 방법을 통해 암호화하면 평문 "hello there"은 "xvssc kxvbv"가 된다.한 가지 흥미로운 점은 영어 문법 특성상, 알파벳 'e'가 다른 영문 알파벳에 비해 자주 쓰인다는 것이다.즉, 암호문 알파벳 대치표 없이 암호문을 복호화하려 할 때, 암호문 알파벳 ..

코딩테스트 2025.04.18

[백준] 11720 숫자의 합 - 문제로 이해하는 이터러블(iterable), map() 함수, map 객체

문제N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.입력첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.출력입력으로 주어진 숫자 N개의 합을 출력한다. 처음 쓴 코드n = int(input())num = input()t = 0for i in range(n): t += int(num[i])print(t) 코딩테스트용 문법으로 수정코딩테스트에서는 주어진 시간 내 간결함과 정확함이 생명이다.그래서 이렇게 여러줄의 코드로 작성하면 하수가 되어버리는 것...따라서, 코드 컨프리헨션이나 합성 함수 형태를 사용하자!n = int(input())num = input()print(sum(map(int, num))) ..

코딩테스트 2025.04.18
반응형