반응형
백준 2941번 크로아티아 알파벳
입력
첫째 줄에 최대 100글자의 단어가 주어진다. 알파벳 소문자와 '-', '='로만 이루어져 있다.
단어는 크로아티아 알파벳으로 이루어져 있다. 문제 설명의 표에 나와있는 알파벳은 변경된 형태로 입력된다.
출력
입력으로 주어진 단어가 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다.
Python |
n = list(map(str, input())) croatia = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z='] # 크로아티아 알파벳 i, cnt = 0, 0 while True: if ''.join(n[i:i+2]) in croatia: # 두개의 문자로 이루어진 크로아티아 알파벳인 경우 i += 2 elif ''.join(n[i:i+3]) in croatia: # 'dz='인 경우 i += 3 else: # 크로아티아 알파벳이 아닌 경우 i += 1 cnt += 1 if i >= len(n): break print(cnt) |
백준 4673번 셀프넘버
반응형
입력
입력은 없다.
출력
10,000보다 작거나 같은 셀프 넘버를 한 줄에 하나씩 증가하는 순서로 출력한다.
Python |
arr = [ i for i in range(1,10001)] # 1부터 10000까지 list에 담기 for i in range(1,10001): number = sum(map(int, str(i))) # i의 각 자리수의 합 if i + number <= 10000 and i+number in arr: a = i + number arr.remove(a) for i in range(len(arr)): print(arr[i]) |
백준 1316번: 그룹 단어 체커
입력
첫째 줄에 단어의 개수 N이 들어온다. N은 100보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 단어가 들어온다. 단어는 알파벳 소문자로만 되어있고 중복되지 않으며, 길이는 최대 100이다.
출력
첫째 줄에 그룹 단어의 개수를 출력한다.
Python |
n = int(input()) a = [] cnt = 0 for i in range(n): s = list(map(str, input())) flag = False a = [] for j in range(len(s)): if s[j] not in a : a.append(s[j]) else : if s[j-1] != s[j]: flag = True if flag == False: cnt += 1 print(cnt) |
반응형
'알고리즘 백준문제풀기' 카테고리의 다른 글
백준 python 2004번 조합 0의 개수/11399번 ATM/12865번 평범한 배낭 (0) | 2022.01.25 |
---|---|
백준 python 2562번 최댓값 / 7785번 회사에있는사람 / 2869번 달팽이 (0) | 2022.01.24 |
백준 알고리즘 python 10951번 / 10814번 나이순 정렬/ 2231번 분해합 (0) | 2022.01.23 |
백준 python 18258번 큐2 / 1002번 터렛 / 9663번 N-Queen (0) | 2022.01.20 |
백준 python 16675번 두개의손 / 16674번 2018년을 되돌아보며 / 9665번 돌게임 (0) | 2022.01.20 |
댓글