본문 바로가기
반응형

코딩테스트/PYTHON25

백준 10809번 파이썬 풀이 우선 정답 코드이다. s = str(input()) alphabets = [-1] * 26 # 알파벳별로 해당 알파벳이 처음 등장하는 위치를 저장할 리스트 초기화 for i in range(len(s)): idx = ord(s[i]) - ord('a') if alphabets[idx] == -1: # 해당 알파벳이 처음 등장한 경우에만 위치 저장 alphabets[idx] = i 결과 = [str(x) for x in alphabets] # 각 요소를 문자열로 변환 print(' '.join(결과)) # 공백을 기준으로 문자열을 합침 ord라는 함수를 사용하는데, 이때 a가 65~ b가 66.. 이렇게 된다면 모든 과정에서 ord['a'] 인 65를 빼면 0~26의 숫자를 얻을 수 있고 처음 만든 26개.. 2023. 3. 18.
백준 11720번 파이썬 풀이 초보 기본처리 I=int(input()) S=str(input()) c=0 for _ in range(I): c+=int(S[_]) print(c) 난 아직 이 구문이 익숙하지 않다. for뒤에:이 없는것도 그렇고 이구문의 계산 순서는 아래와 같고 무조건 많이 써보고 손이 먼저움직이게 해야할것같다;; [리스트 컴프리헨션에 대해] sum([int(_) for _ in range(b)])는 파이썬의 리스트 컴프리헨션(List Comprehension)과 내장 함수인 sum()을 사용한 코드입니다. range(b)는 0부터 b-1까지의 정수를 담은 시퀀스(Sequence)를 반환합니다. range() 함수는 시작값을 생략할 수 있으며, 기본값은 0입니다. 따라서 range(b)는 range(0, b)와 같습니.. 2023. 3. 16.
백준 9086번 파이썬 풀이(초보 시점 반성) 문자 좌우를 그냥 가져오는 아주 간단한 것인데 한번에 패스하지 못했다. 또한 , 기본문법을 어디서 보긴 했지만 역시 써본적이 없으니 기억이 나지 않았다. 기억력의 문제일까 기억하기 싫어서일까 코딩테스트에서 이런 기본 문법은 필수이거늘...... 정말 노트필기를 잘해놓고 열심히 외워야겠다. I= int(input()) 입력=[] for _ in range(I): 입력.append( str(input())) for _ in 입력: 끝=len(_)-1 print("{}{}".format(_[0],_[끝])) 간단하게 줄인 코드 for _ in range(int(input())): S = input() print(S[0] + S[-1]) 2023. 3. 15.
백준 11399번 파이썬 풀이 제가 푼 정답은 아래와 같습니다 A=int,input() B=list(map(int,input().split())) B.sort() T=0 T2=0 for i in range(len(B)): T=T+B[i] T2=T2+T print(T2) 설명내용입니다 2023. 3. 14.
반응형