본문 바로가기
반응형

알고리즘36

[알고리즘/백준] 1063번 킹 Python 파이썬 해당 문제는 문제를 제대로 이해 못하고 엉뚱한 부분에서 막혀서 시간을 많이 소비했다ㅠㅠ 해당 문제를 풀 때 주의해야하는 점은 1. 돌이 킹이랑 매번 같이 움직이는 게 아닌 킹이 돌의 위치로 이동하게 되면 같이 이동해준다는 점 2. 만약에 움직였을 때 킹이 체스 판을 안나가고 돌만 나갈 경우 킹은 움직여줘야 한다는 점 이 두가지만 잘 이해해서 풀면된다. 그리고 막힌 에러 코드 부분은 move = input() x,y = move_pos(move) 에서 typeerror: cannot unpack non-iterable nonetype object 에러가 떴는데 move = list(map(str,input().split())) x,y = move_pos(move[0]) 으로 수정해서 에러를 고칠 수 있었다.. 2023. 2. 26.
[알고리즘/백준] 2578번 빙고 Python 파이썬 이 문제는 복잡해보이지만 쉽게 생각하면 어렵지 않은 문제이다. 몇번째 빙고가 되는지 출력해주는 문제로 빙고판과 사회자가 부르는 숫자가 주어진다. 처음에는 어렵다고 생각했다. 어떻게 빙고가 되었는지 확인해주지 BFS 써야하나 싶었는데 이건 빙고판 사이즈가 정해지지 않을 때 이야기고 해당 문제는 빙고판 사이즈가 정해져있기 때문에 5X5 빙고판 생각해서 상수로 검사해주면 싶게 풀린다. 다음과 같은 코드를 통해 통과하였다. import sys input = sys.stdin.readline my_bingo = [list(map(int, input().split())) for _ in range(5)] call_num = [list(map(int, input().split())) for _ in range(5)].. 2023. 2. 23.
[알고리즘/백준] 2303번 숫자 게임 Python 파이썬 이번 문제는 기존에 풀었던 문제 중에 블랙잭이라는 문제와 비슷한 문제이다. 각자 받은 5개의 카드 중 3개를 골라 큰 일의 자리를 가지는 사람의 번호를 출력하는 문제로 각자 받은 5개의 카드 중 어떤 3개의 카드를 골라야 일의 자리가 가장 큰지는 모든 경우의 수를 다 확인해주는 완전 탐색을 통해 큰 지 찾아내어 비교하였다. 다음과 같은 코드를 통해 통과하였다. import sys input = sys.stdin.readline N= int(input()) biggest_num = 0 big_people = 0 for i in range(N): card_list = list(map(int, input().split())) big_num = 0 for j in range(5): for k in range(j.. 2023. 2. 23.
[알고리즘/백준] 1331번 나이트 투어 Python 파이썬 이번 문제는 체스의 룰을 알고 확인할 조건들과 규칙을 찾아낼 수 있으면 풀 수 있는 문제이다. 주의있게 봐야할 점이 1. 나이트의 움직임 규칙 2. 모든 지점을 한번씩만 들렸는지 3. 마지막 지점에서 처음 지점으로 갈 수 있는지 총 3가지 조건이다. 1. 경우 나이트 움직임이 x, y 좌표 값으로 변환했을 때 현재 움직임 nowx, nowy 다음 움직임 prex, prey 라 할 때 abs(nowx-prex) == 1 and abs(nowy-prey) == 2) 이거나 (abs(nowx-prex) == 2 and abs(nowy-prey) == 1 조건에 충족하는지 확인해야한다. 만약이 이 경우를 제외하고는 나이트 이동 규칙을 지키지 않은 것이다. 2. chass_map 이라는 이차원 배열 만들어서 지나.. 2023. 2. 23.
반응형