목록분류 전체보기 (58)
travel data science
# 1316번 문제 sum_=0 for i in range(int(input())): ex=input() set_=set(ex) try: for i in range(0, len(ex)-1): if ex[i]!=ex[i+1]: set_.remove(ex[i]) set_.remove(ex[len(ex)-1]) sum_+=1 except KeyError: sum_+=0 print(sum_) 내가 작성한 코드.. 문자열을 집합으로 만들어 중복을 제외한다. 그 후에 문자가 바뀔 때마다 삭제를 한다. 만약 집합에 문자가 없을 경우에는(다 삭제되어서) 그룹단어라고 생각한다. 집합에 문자가 없을 때 삭제를 하면 key Error가 나므로, try-except구문을 사용하였다. 그러나.. 아주 쉬운 코드가 있었다. so..
#2941번 문제 croa=['c=','c-', 'dz=', 'd-','nj', 'lj', 's=', 'z='] example=input() sum_=0 for i in croa: sum_+=example.count(i) example=example.replace(i, '_') example=example.replace('_', '') example=example.replace('-', '') example=example.replace('=', '') sum_+=len(example) print(sum_) 반례가 너무 많아서 헷갈렸던 문제.. 특히 ldz=j의 경우 dz=를 먼저 지우게 되면 lj가 합쳐져서 하나의 단어로 count되기 때문에 for문의 문자열 삭제의 경우에는 항상 주의해야한다.
alphabet='ABCDEFGHIJKLMNOPQRSTUVWXYZ' alphabet_sec=[3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 10, 10, 10, 10] dial_input=input() sum_=0 for i in dial_input: sum_+=alphabet_sec[alphabet.find(i)] print(sum_) 내가 짠 코드는 위와 같다. 어떻게 INDEXING을 해야할지 참 고민이 많았는데 그냥 저렇게 해버렸다. LIST안에 든 LIST 즉, A[0][1]같은 것들은 ~in~이 함수를 사용하는 것이 불가능했기 때문이다. 그런데 indexing을 잘 활용한 코드를 찾았다. 아래와 같다. example=inp..
example=input().upper() str_list=list(set(example)) count_list=[example.count(i) for i in str_list] if count_list.count(max(count_list))>=2: print('?') elif count_list.count(max(count_list))==1: print(str_list[count_list.index(max(count_list))]) 와 이 문제 너무 어려웠다.....