코딩테스트 준비 43

[백준] 11656번 접미사 배열 - 파이썬(Python)

https://www.acmicpc.net/problem/11656 11656번: 접미사 배열 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다. www.acmicpc.net 문제 21.02.26 접근법 접미사들을 arr 배열에 저장 정렬 후, 출력 21.02.26 코드 s=list(input()) arr=[] for i in range(len(s)): arr.append(s[i:]) arr.sort() for i in range(len(arr)): for j in range(len(arr[i])): print(arr[i][j],end='') print() 21.08.04 접근법 문자열 S를 i부터 끝까지 ans리스트에 저장 (i는 0부터 시작) ..

[백준] 10820번 문자열 분석 - 파이썬(Python)

https://www.acmicpc.net/problem/10820 10820번: 문자열 분석 문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오. 각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있 www.acmicpc.net 문제 접근법 주어지지 않은 N개까지 입력을 받는거라 어떻게 받는지 몰라 당황했다. 찾아보니 이런 경우에는 while문을 통해 계속 입력을 받다가 그냥 단순히 입력 받은 변수가 존재하지 않을 때 break를 하는 코드를 사용하면 되었다. 또한, 개행문자로 분리된 문자열을 한 줄씩 받다보니 rstrip('\n')를 통해 개행문자를 제거해줘야 했다. 그리고 다음과 같은 함수들을 사용하였다. - 대문..

[백준] 10809번 알파벳 찾기 - 파이썬(Python)

https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 문제 접근법 enumerate 내장함수와 아스키 코드 활용 enumerate내장함수로 arr의 index인 i와 value인 j를 받아와 적용시킴. a부터 z를 0부터 25로 ck 설정 a의 아스키 코드는 97이므로 이를 기준으로 ck의 인덱스 0을 a, 1을 b, 2를 c ... z를 25로 처리하였음. 코드 arr=input() ck=[-1]*26 for i,j in enumera..

[백준] 10808번 알파벳 개수 - 파이썬(Python)

https://www.acmicpc.net/problem/10808 10808번: 알파벳 개수 단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다. www.acmicpc.net 문제 접근법 문자를 아스키코드로 변경해 숫자로 활용 a의 아스키 코드는 97이므로 이를 기준으로 cnt의 인덱스 0을 a, 1을 b, 2를 c ... z를 25로 처리하였음. 코드 arr=input() cnt=[0]*26 for i in arr: cnt[ord(i)-97]+=1 print(*cnt)

[백준] 1918번 후위 표기식 - 파이썬(Python)

https://www.acmicpc.net/problem/1918 1918번: 후위 표기식 첫째 줄에 중위 표기식이 주어진다. 단 이 수식의 피연산자는 A~Z의 문자로 이루어지며 수식에서 한 번씩만 등장한다. 그리고 -A+B와 같이 -가 가장 앞에 오거나 AB와 같이 *가 생략되는 등의 수식 www.acmicpc.net 문제 접근법 ###검색해서 풀었기에, 다음에 다시 해보기 처음에는 무조건 괄호가 주어지는 줄 알고 짰는데 계속 틀렸다 나와서 찾아보니 괄호가 없이도 자체 수식에서 다 후위 연산자로 바꿨어햐 했다. 근데 그걸 아니, 계속 생각해도 알고리즘의 가닥이 안잡혀서 결국 알고리즘을 찾아보게 되었다. 연산자에 우선순위를 매겨 스택의 마지막보다 우선순위가 높은 연산자는 스택에 append하고 스택의 마..

[백준] 1935번 후위 표기식2 - 파이썬(Python)

https://www.acmicpc.net/problem/1935 1935번: 후위 표기식2 첫째 줄에 피연산자의 개수(1 ≤ N ≤ 26) 가 주어진다. 그리고 둘째 줄에는 후위 표기식이 주어진다. (여기서 피연산자는 A~Z의 영대문자이며, A부터 순서대로 N개의 영대문자만이 사용되며, 길이 www.acmicpc.net 문제 접근법 생각해야할 건 크게 2가지였다. 첫째, 후위표기식을 어떻게 계산할지 둘째, 알파벳에 숫자들을 어떻게 넣을지 첫째를 해결하기 위해 하나하나 과정을 적어보았고, 이들의 공통점을 묶어 나열해 보았다. '연산자일 때 코드를 어떻게 구성할까'가 가장 큰 고민이었는데, 연산자로 연산된 결과도 스택에 집어넣음으로 해결할 수 있음을 깨닫게 되면서 첫째 고민이 해결되었다. 이제 둘째를 해결..