이번 포스팅은 www.acmicpc.net/problem/1316에서 푼 것을 토대로 작성했습니다. 문자열의 마지막 문제인 그룹 단어 체커입니다. 문제 문제 해석 1. 단어의 개수 n을 입력받고 n개의 단어를 입력받는다. 2. 떨어져 있는 같은 알파벳이 있으면 그룹 단어가 아니다. 3. 그룹 단어의 개수를 출력한다, Python 코드 n = int(input()) group = 0 for i in range(n): num = input() cnt = 0 for j in range(len(num)-1): if num[j] != num[j+1]: num_list = num[j+1:] if num_list.count(num[j]) > 0: cnt += 1 if cnt == 0: group += 1 print(..
Python
이번 포스팅은 www.acmicpc.net/problem/2941에서 푼 것을 토대로 작성했습니다. 문자열의 아홉 번째 문제인 크로아티아 알파벳입니다. 문제 문제 해석 1. 크로아티아 알파벳이 변경되는 문자를 입력받는다. 2. 목록에 없는 알파벳은 한 글자씩 센다. 3. 입력받은 알파벳의 개수를 출력한다. Python 코드 s = input().lower() a = list(['c=','c-','dz=','d-', 'lj', 'nj', 's=', 'z=']) cnt = 0 for i in range(len(a)): cnt += s.count(a[i]) s = s.replace(a[i], " ") s = s.replace(" ","") print(cnt+len(s)) Python 코드 풀이 1. 입력받은 ..
이번 포스팅은 www.acmicpc.net/problem/5622에서 푼 것을 토대로 작성했습니다. 문자열의 여덟 번째 문제인 다이얼입니다. 문제 문제 해석 1. 대문자로 된 문자열을 입력받는다. 2. 그림의 다이얼과 같이 대응되는 번호를 찾는다. 3. 번호만큼의 시간을 계산하여 최소 시간을 구한다. Python 코드 s = input().upper() dial = list(['ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQRS', 'TUV','WXYZ']) time = 0 for i in range(len(s)) : for j in range(len(dial)) : if (s[i] in dial[j]) == True : time += (j+3) print(time) Python 코드..
이번 포스팅은 www.acmicpc.net/problem/2908에서 푼 것을 토대로 작성했습니다. 문자열의 일곱 번째 문제인 상수입니다. 문제 문제 해석 1. 두 수 A와 B가 첫째 줄에 띄어쓰기로 입력된다. 2. 입력된 수를 뒤집는다. 3. 뒤집힌 수를 비교하여 큰 수를 출력한다. Python 코드 1 a, b = input().split() new_a = int(a[2])*100 + int(a[1])*10 + int(a[0]) new_b = int(b[2])*100 + int(b[1])*10 + int(b[0]) if new_a > new_b : print(new_a) else : print(new_b) Python 코드 풀이 1. str로 입력받은 a와 b를 인덱싱 해서 거꾸로 만들었습니다. a,..
이번 포스팅은 www.acmicpc.net/problem/1152에서 푼 것을 토대로 작성했습니다. 문자열의 여섯 번째 문제인 단어의 개수입니다. 문제 문제 해석 1. 영어 대소문자와 띄어쓰기로 이루어진 문자열을 입력받는다. 2. 공백으로 구분하여 단어의 개수를 출력한다. 3. 단어 맨 앞과 맨 뒤에 공백이 가능하다. Python 코드 s = input() lst = list(s) if s == " ": print(0) elif lst[0] == " " : if lst[len(lst)-1] == " ": print(lst.count(' ')-1) else: print(lst.count(' ')) elif lst[len(lst)-1] == " ": print(lst.count(' ')) else : pri..
이번 포스팅은 www.acmicpc.net/problem/1157에서 푼 것을 토대로 작성했습니다. 문자열의 다섯 번째 문제인 단어 공부입니다. 문제 문제를 보고 저 나름대로 해석을 먼저 했습니다. 1. 알파벳 대소문자로 된 단어를 입력받는다. 2. 입력된 알파벳 중에 가장 많이 입력된 알파벳을 대문자로 출력한다. - 대소문자 구분 x 3. 가장 많이 입력된 알파벳이 여러 개 라면? 를 출력한다. 이렇게 두고 코드를 어떻게 진행할지 생각해 보았습니다. Python 코드 s = input().upper() s_set = list(set(s)) # 입력받은 문자열에서 중복 값 제거하여 정렬(무작위) cnt = [] for i in s_set : cnt.append(s.count(i)) # 입력의 count를..
이번 포스팅은 www.acmicpc.net/problem/2675에서 푼 것을 토대로 작성했습니다. 문자열의 네 번째 문제인 문자열 반복입니다. 문제. 첫째 줄에 테스트 케이스 T를 입력받고 테스트 케이스마다 다시 반복 횟수 R과 문자열 S가 공백으로 입력받고 문자열 S를 인덱스 해서 R을 곱한 게 출력으로 나오게 하는 프로그램입니다. 코딩. T = int(input()) for i in range(T): R,S = input().split() for j in range(len(S)): print(S[j]*int(R), end = "") print() 입력은 문제에서 요구하는대로 코딩했습니다. 테스트 케이스 T 마다 for문을 사용한 게 첫 번째이며 R과 S를 공백으로 입력받고 for문을 한번 더 만들어..
이번 포스팅은 www.acmicpc.net/problem/10809에서 푼 것을 토대로 작성했습니다.문자열의 세 번째 문제인 알파벳 찾기입니다. 문제. 문제를 보시면 단어 s를 입력받고단어 s에서 알파벳에 대해 처음 등장하는 위치를 출력하는 프로그램입니다. 예제를 보시면 baekjoon으로 입력을 받고abcdefg.... xyz에서 차례대로 a는 1번째 b는 0번째.... z는 존재하지 않으니 -1로 출력된 것을 볼 수 있습니다.코딩.n = input() a = "abcdefghijklmnopqrstuvwxyz" for i in range(len(a)): print(n.find(a[i]), end=" ") 저는 알파벳을 다 문자열로 만든 후 find 함수로 위치를 찾아서 프로그램을 만들었습니다. 문자열에..