Adventure Time - Jake bogyoi's Dev note
본문 바로가기

전체 글93

[백준/python] 25206번 너의 평점은: dictionary 이용 key값 받아 value 얻기 gradeDict = {"A+": 4.5, "A0": 4.0, "B+": 3.5, "B0": 3.0, "C+": 2.5, "C0": 2.0, "D+": 1.5, "D0": 1.0, "F": 0.0} sumofgrade=0.0 creditSum=0.0 for i in range(20): subject, credit, grade =input().split() if grade=='P': continue sumofgrade +=float(credit)*gradeDict[grade] creditSum+=float(credit) GPA=sumofgrade/creditSum print(GPA) credit에 float형 붙여야함. 2023. 10. 24.
[백준/python] 1316: 그룹 단어 체커/ set(), list(dict.fromkeys()) 차이 n=int(input()) #입력받을 단어 개수 arr=[] cnt=0 #그룹단어 개수 저장 for i in range(n): word=input() arr.append(word[0]) #첫번째 알파벳 arr에 추가 for j in range(len(word)-1): if word[j]!=word[j+1]: arr.append(word[j+1]) if list(dict.fromkeys(word))==arr: cnt+=1 arr=[] #arr 초기화 print(cnt) if list(dict.fromkeys(word))==arr: 에서 처음엔 set(word)와 arr를 비교했었는데, set()은 순서 상관 없이 중복을 없애는 함수라서 원하는 결과가 나오지 않았다. 그래서 list(dict.fromkeys.. 2023. 10. 24.
[백준/python] 2941 크로아티아알파벳 개수 alphaList=['c=','c-','dz=','d-','lj','nj','s=','z='] inputStr=input() for i in alphaList: inputStr=inputStr.replace(i, '1') print(len(inputStr)) 처음엔 문제를 잘못 이해했다. 인풋으로 ljes=njak를 입력할 시 총 3이 출력이 되는게 아니라 e, a, k까지 6이 출력이 되는거더라. 처음엔 find 함수를 이용해 해당 문자열을 찾고 count를 1씩 증가시켜 for-loop이 끝난 후 count를 출력해주는 방안으로 하려했었다. 그런데 그렇게 하면 dz=가 있을 시에 dz=과 z= 둘다 카운트되고... 어쨌든 저 알파벳리스트에 있는 알파벳이 있으면 그냥 한글자로 바.. 2023. 10. 24.
★[백준/python] 10809번 알파벳찾기: ord(),chr() 아스키코드값 변환/ for-loop, find() 작성코드: #아스키코드값이 97부터 122까지니까 (아스키-97)로 하면 0부터 된다 #a:0 b:1 c:2 ,.. . falut:-1로 #alpha='abcdefghijklmnopqrstuvwxyz' #ord: 문자 -> 아스키코드값 #chr: 아스키코드값 -> 문자 #a~z: 97~122 str=input() output=[-1]*26 for i in range(len(str)): if output[ord(str[i])-97]!= -1: #o가 두번 나오는데, 그 중 처음 나오는 o의 인덱스를 출력하니까 이미 -1이 아닌 값이면 변경 없이 고고. continue else: output[ord(str[i])-97] = i #i는 str을 보는 인덱스! for i in range(26): print(ou.. 2023. 10. 24.
[백준/python] 10811번: 바구니 뒤집기/ reverse(), [::-1] N, M=map(int, input().strip().split()) arr=[0]*N res=[] for i in range(N): arr[i]=i+1 for i in range(M): a,b = map(int, input().strip().split()) #(a-1)인덱스부터 b인덱스 전까지 역순. #역순 하는 법 -> arr[::-1] / reverse() for j in range(a-1,b): res.append(arr[j]) res.reverse() k=0 for j in range(a-1,b): arr[j]=res[k] k+=1 for i in range(N): print(arr[i],end=' ') 다른 사람들이 쓴 코드 들 N, M = map(int, input().split()) bas.. 2023. 10. 24.
[백준/python] 3052번:서로 다른 나머지 몇개 있나 arr=[] for i in range(10): a=int(input()) a=a%42 if a not in arr: arr.append(a) print(len(arr)) 2023. 10. 24.