본문 바로가기

구현63

[ 파이썬(python) ] 백준 2902 - KMP는 왜 KMP일까? 📍 백준 2902 - KMP는 왜 KMP일까? 백준 2902 - KMP는 왜 KMP일까? ⚡️ 나의 풀이 이름의 첫 번째 글자, 하이픈 뒤는 항상 대문자기 때문에 대문자로 따로 바꿔주는 코드가 필요 없다. 하이픈을 기준으로 입력을 나눈다. names를 반복문을 돌려 i[0]만 출력한다. 사람의 성의 첫 글자만 따서 부르기 때문이다. import sys input = sys.stdin.readline names = input().split('-') for i in names: print(i[0], end='') 2021. 6. 2.
[ 파이썬(python) ] 백준 20436 - ZOAC 3 📍 백준 20436 - ZOAC 3 백준 20436 - ZOAC 3 ⚡️ 나의 풀이 없는 것을 짜낼려니까(?) 조금 힘들었던 문제였다. 처음에 2차원 리스트로 문자 하나하나씩 끊어서 keyboard = [['q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p'], ['a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l'], ['z', 'x', 'c', 'v', 'b', 'n', 'm']]로 선언했는데, 이것보다 하단에 있는 코드처럼 하나의 리스트로 감싸고 문자열에 'str'처리를 해주면 결과는 동일하지만 코드는 더욱 간결해지는 모습을 볼 수 있다. 이 문제에서 핵심적으로 판단해야 하는 부분은 다음과 같다. 1. 문자를 키보드의 좌표로 변환한다. - .. 2021. 6. 1.
[ 파이썬(python) ] 백준 1244 - 스위치 켜고 끄기 📍 백준 1244 - 스위치 켜고 끄기 백준 1244 - 스위치 켜고 끄기 ⚡️ 나의 풀이 문제가 조금 길었지만, 핵심 포인트는 다음과 같다. 남학생: 자기가 받은 수의 배수인 스위치 번호의 상태를 바꾼다. 여학생: 자기가 받은 수와 같은 번호인 스위치 번호를 중심으로 좌우가 대칭이면서 가장 많은 스위치를 포함하는 구간의 상태를 모두 변경한다. 그리고 처음에 index를 편하게 보기 위해 arr[0]에 이 문제와 관련 없는 값인 -3333을 넣었다. 남학생의 경우는 index가 배수인 경우를 찾을 때 if not i % target과 같은 방법을 사용했는데 그럴 필요 없이 시작점을 target으로 하여 for i in range(target, n+1, target)을 선언하면 배수의 index만 출력 할.. 2021. 5. 31.
[ 파이썬(python) ] 백준 2490 - 윷놀이 📍 백준 2490 - 윷놀이 백준 2490 - 윷놀이 ⚡️ 나의 풀이 윷짝들의 상태를 보고 도(A), 개(B), 걸(C), 윷(D), 모(E)를 판별하는 문제다. 윷짝들을 구성하는 값은 0 또는 1 임을 알 수 있다. 하지만 윷짝들이 주어질 때 0과 1의 순서가 뒤바뀔 수 있음을 인지하자. 나는 총 2가지 방법으로 풀었는데 주어지는 각각의 줄마다 합(sum)을 구해 출력을 구분했다. 0과 1의 개수를 파악하도록 count함수를 사용했다. 정답판정을 받고 다른 사람의 코드를 봤는데 1번의 sum은 입력을 받을 때 한 번에 선언해줘도 됐고, 2번의 count는 0과 1 둘 다 할 필요없이 둘 중에 하나만 해줘도 구분이 가능했다. # sum yut = [list(map(int, input().split())).. 2021. 5. 30.
[ 파이썬(python) ] 백준 3009 - 네 번째 점 📍 백준 3009 - 네 번째 점 백준 3009 - 네 번째 점 ⚡️ 나의 풀이 수학적으로 어떻게 풀어야 할지 많은 고민을 했는데 결론적으로 각각의 입력 중에서 입력[0]만을 모아둔 리스트 column, 입력[1]만을 모아둔 리스트를 row라고 했을 때, 세 줄의 입력 중 입력[0]만을 생각했을 때 두 개의 입력[0]이 같은 값이면 나머지 한 개와 임시로 선언한 `a`값이 같은 값이 되어야 하고 반대로 입력[1]만을 생각했을 때 나머지 한개와 `b`도 같은 값이 되어야한다. 나는 이런방식으로 풀었다. defaultdict를 선언한다. 입력[0]번만 모아놓은 column 리스트와 입력[1]번만 모아놓은 row 리스트를 선언한다. value만큼 +=1 을 해준다. index가 1개인 column_dict와 .. 2021. 5. 30.