삼성

    [python] SWEA - 1961. 숫자 배열 회전/ 1970. 쉬운 거스름돈/ 10059. 유효기간

    [python] SWEA - 1961. 숫자 배열 회전/ 1970. 쉬운 거스름돈/ 10059. 유효기간

    1. 숫자 배열 회전 문제 해결 1. 2차원 배열 다루기. D2 2. 90도로 회전시키는 것만 코드를 완성하면 나머지는 90도 돌린것을 또 돌리면 된다. 3. 이번에 푼 방법은 1행에 있는 모든 값을 임시배열에 넣어두고 거꾸로 해준다음 하나씩 쌓아준다. 🌧 이것 말고도 많은 방법이 있는 것으로 기억한다. 😶 소스 코드 T = int(input()) for tc in range(1, 1+T): n = int(input()) lst = [input().split() for _ in range(n)] # 90 도 회전 lst_90 = [] for j in range(n): tmp = [] for i in range(n): tmp.append(lst[i][j]) tmp.reverse() lst_90.append..

    [python] 백준 - 16236. 아기 상어 (삼성 SW 역량 테스트 기출 문제)

    [python] 백준 - 16236. 아기 상어 (삼성 SW 역량 테스트 기출 문제)

    문제 해결 1. BFS를 활용한 시뮬레이션 문제이다. (게임 같은 문제) 2. 먼저 상어의 위치, 레벨, 먹은 물고기수, 총이동거리 등을 정의 해준다. 3. 상어의 레벨에 따른 먹을 수 있는 물고기를 찾는다. 4. 물고기를 찾으면 (1) 거리가 가장 가까운 물고기 (2) 그런 물고기가 여러마리이면 가장 위에 있는 물고기 (3) 그런 물고기가 여러마리이면 가장 왼쪽에 있는 물고기를 선택한다. (sort함수를 사용하면 쉽게 얻을 수 있다.) 5. 먹을 물고기를 선택했다면 (1) 상어를 먹을 물고기의 위치로 옮겨준다. (2) 이동횟수와 먹은 물고기수를 더해주고 (3) 상어가 레벨업 할 조건을 만족한다면 레벨업! 6. 더 이상 먹을 물고기가 없다면 break -> 전에 한번 도전했다가 실패한 문제이다. 이번 해..