1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net N = int(input()) num = 0 for _ in range(N): word = input() cnt = 0 for index in range(len(word) - 1): if word[index] != word[index + 1]: word2 = word[index + 1:] if word[index] in word[index + 1:]: cnt += 1 if cnt == 0: num += 1 print(num) *k..
2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net word = input() croatia_alphabet = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z='] for i in croatia_alphabet : word = word.replace(i, '_') print(len(word)) *key point: replace 메소드를 활용하여 입력된 문자열 안에서 croatia_alphabet 리스트가 가지는 요소를 임의의 한글자('_..
5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net word = input() alphabet_dial_list = ['ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQRS', 'TUV', 'WXYZ'] time = 0 for alphabet in word: for alphabet_dial_group in alphabet_dial_list: for alphabet_dial in alphabet_dial_group: if alphabet == alphabet_dial: time += 3 + alphabet_dial_list.index(alphabet_dial_group) print..
2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net num_list = list(input().split()) sangsu_list = [int(num[::-1]) for num in num_list] print(max(sangsu_list)) *key point: 문자열 범위 선택 연산자 [::-1](=처음부터 끝까지 역순으로)을 이용하여 각 문자열을 역순으로 바꾸고, 그 문자열 들의 리스트 중 큰 값(최대값)을 출력한다.
1152번: 단어의 개수 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열 www.acmicpc.net print(len(input().split())) *key point: split 함수를 사용하면 입력 받은 문자열을 아주 쉽게 공백을 기준으로 구분하여 나눌 수 있다. 이 때 결과로 리스트가 반환되므로 len 함수로 요소들의 수를 세어준다.
1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net word = input().upper() alphabet = list(set(word)) count_list = [word.count(i) for i in alphabet] if count_list.count(max(count_list)) > 1: print('?') else: print(alphabet[count_list.index(max(count_list))]) *key point: 대소문자를 구분하지 않는다는 조건이 있기 때문에 upper 메소드를 이용하여 모든 알파벳을 대문자로 변환하였..
2675번: 문자열 반복 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다 www.acmicpc.net T = int(input()) for i in range(T): R, word = input().split() for j in word: print(j * int(R), end='') print() *key point: 문자열에 정수를 곱하면 그 문자열을 반복하는 것을 이용한다. print 함수의 end 속성을 이용하여 출력 형식을 맞춰준다. 이 때 여러 출력 시에는 줄바꿈이 필요함으로 이를 고려해준다.
10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net S = input() ans = [] for i in range(97, 123): a_to_z = chr(i) try: print(S.index(a_to_z), end=' ') except: print(-1, end=' ') *key point: 아스키코드를 문자로 변환해주는 chr 함수를 이용하면 a ~ z 알파벳을 쉽게 반복문에 사용할 수 있다. 각 알파벳이 주어진 문자열의 어느 위치에 있는지는 index 함수를 통해 알 수 있다. 문제를 풀고 다..
- Total
- Today
- Yesterday
- programmer
- 17103
- 벡준
- 25192
- 13241
- 25501
- 2903
- 2053
- 24723
- 코육대
- til
- 5597
- 13909
- 26069
- 1269
- Wil
- 20920
- 24060
- 2587
- 10807
- Python
- 4134
- SQL
- Programmers
- 항해 플러스
- 항해+
- 24313
- MySQL
- 백준
- 2738
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |