이 문제는 find() 함수를 이용하면 편하다.find() 함수는 단어가 가장 처음 나온 위치를 반환한다. 만약 단어가 존재하지 않을 경우 -1을 반환한다.find() 함수를 쉽게 이용하기 위해 알파벳들을 ord() 함수를 이용해 아스키코드로 변환하여 사용한다.문제풀이S = input() for Rpt in range(0, 26): print(str(S.find(chr(ord('a') + Rpt))) + " ",end="")
split() 함수를 이용하여 X를 기준으로 문자열을 자르고 반복문을 활용하여 O의 개수를 더하는 형식으로 답을 구했다.문제풀이N = int(input()) add = 0 for Rpt in range(0, N): Str = input().split('X') for rpt in range(0, len(Str)): for Rt in range(1, Str[rpt].count('O') + 1): add += Rt print(add) add = 0
push 명령은 append() 함수를 이용했다.pop 명령은 try, except 문을 이용하여 오류가 발생했을 경우 -1, 정상이면 그 값을 출력하도록 하였다.size 명령은 len() 함수를 이용했다.empty 명령 같은 경우에도 리스트의 길이가 0이면 1 아닐 경우 0을 출력하는 방식이다.top 명령은 인덱싱을 이용해 출력했다.문제풀이 J = int(input()) stack = [] for a in range(J): N = input().split() if N[0] == "push": stack.append(int(N[1])) elif N[0] == "pop": try: print(stack.pop()) except: print(-1) continue elif N[0] == "size": pri..
2부터 N까지의 숫자들의 연산 최소값을 구하는 방식을 사용했다.문제풀이 lst = [0,0] N = int(input()) for rpt in range(2, N + 1): lst.append(lst[rpt-1]+1) if rpt % 2 == 0: lst[rpt] = min(lst[rpt], lst[rpt//2]+1) if rpt % 3 == 0: lst[rpt] = min(lst[rpt], lst[rpt//3]+1) print(lst[N])