728x90

코딩테스트/삼성 기출 12

백준 21611 마법사 상어와 블리자드 파이썬 풀이/코드 (삼성 기출, 구현 문제)

정확히 2시간 40분정도 걸려서 푼 문제. 어제랑 그제 자꾸 사이에 서렌쳐서 오늘은 꼭 한문제 혼자 힘으로 풀어야겠다고 생각했었다. 그래서 풂!!!! 다행히 간만에 풀렸다 ,,ㅋㅋㅋㅋㅋㅋㅋ 와 진짜 푸는데 죽을뻔햇음........ 꿀팁 이 문제도 이전처럼 꿀팁이랄건 딱히 없는 것 같다. 디버깅하는 사이사이에 보니까 내가 인덱스 잘못넣거나 했던게 매우 많았음. -> print로 확인하고 수정 작업 거쳐서 풀었다. 아 꿀팁 하나 있긴함 구불구불하게 경로를 설정해줘야해서 이부분에서 미리 path를 만들어두고 그 path를 따라서 움직일 수 있게 하면 나머지 부분에서 경로를 설정할 때 덜 헷갈리고 에러도 줄어들 것 같다. (더 쉬운 방법이 있을수도? 걍 나는 이게 쉬울거같아서 이렇게 풀었음) 경로 로직까지 만드..

백준 23290 마법사 상어와 복제 파이썬 풀이, 코드 (삼성 기출, 시뮬레이션)

풀이 팁 1. 하라는 대로 하면 ㄹㅇ 되는 문제 2. 물고기 위치를 어떻게 끌고갈지 잘 생각해볼것. 나는 극강의 dict 문법을 사용해서 풀었다.....ㅋㅋㅋㅋ쉽지않았음ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 여담이지만 dict든 뭐든 본인이 인덱스를 계속 끌고가거나? 해야하는 문제에 닥쳤을때 잘 쓸 수 있는 자료형을 하나쯤 숙지해두면 좋을 것 같다. 개인적으로 저는 dict를 많이 쓰는편입니다..만 사람마다 다르겠죠. 이 문제도 다른 사람 풀이 보니까 3차원 배열을 쓴거같은 사람도 있고.. 그게 더 편할지도 모르겠습니다. 하지만 저는 dict가 편해서 dict로 끌고가서 잘 풀었습니다. 배열을 쓰기에는 dict로 해도 키값이 최대 16개 까지..

백준 20061 모노미노도미노 2 파이썬 풀이, 코드 (삼성 기출, 시뮬레이션)

코드는 아래에. 풀이 팁 1. 시키는 대로 할 것. (조건 꼼꼼히 보기) 2. 아랫쪽으로 움직이는거 (green 부분) 먼저 만들고 오른쪽으로 움직이는건 대칭 써서 풀면 조금 더 빠르게 풀 수 있다. 주의할 점 - t조건에 따라서 동일한 for문이 여러개가 나온다. 이렇게 동일한 역할을 하는 for문이 여러개가 나오면 사이에 하나의 for문에서 로직을 수정할때 다른쪽에 있는 for문 로직도 같이 수정해야 한다. 나는 이부분에서 나는 시간을 엄청 소요했다. 사이에 휴먼에러 당연히 있을 수 있고 디버깅해서 찾으면 됨. 근데 그렇게 해서 찾은 에러를 모든 for문에 적용하지 않고 하나를 빠트려서, 이후 나오는 에러도 자꾸 뭔가 거의 된 것 같은데 안되고.. 추후 시뮬레이션 문제 풀 때 주의해야할 듯.. 에러 ..

삼성기출, 백준 23288 주사위 굴리기2 파이썬 코드/풀이

한시간 정도 잡고 풀었는데 한시간 반 걸렸다. 예제에 안되는 문제가 있어서 디버깅 해보니까 주사위 돌리는 과정에서 딥카피가 안돼서 오류가 나고 있었다. 해당 부분 for문으로 값을 넣어줘서 딥카피로 해결했다. 총 4개 함수를 만들어서 풀었다. 1. 이동 방향 결정 + 주사위 모양 바꾸기 2. 주사위가 이동하는 부분의 좌표 확인 3. 좌표 확인시 뒤로 되돌아가는 경우 이동방향 재결정 및 주사위모양 다시바꾸기 4. 점수계산 N, M, total = map(int, input().split()) grid = [] for i in range(N): grid.append(list(map(int, input().split()))) dice = [[0 for i in range(3)] for j in range(4)..

백준 14503 로봇 청소기 파이썬 풀이 및 코드 (시뮬레이션 문제)

코드는 여기. 해설 및 잡설은 아래로.. N, M = map(int, input().split()) r, c, dir = map(int, input().split()) grid = [] for i in range(N): grid.append(list(map(int, input().split()))) # if 청소 : 2 start = [r, c, dir] stack = [start] answer = 0 dir = [[-1, 0], [0, 1], [1, 0], [0, -1]] def next_dir(grid, y, x, d): ny, nx = 0, 0 # dir = [[-1, 0], [0, 1], [1, 0], [0, -1]] for i in range(4): next_dir = (d+3)%4 dy, dx..

백준 14891 톱니바퀴 코드, 해설(파이썬)/ 삼성기출, 실버1 구현문제

코드만 궁금한 분은 깃허브 링크 눌러주세요 GitHub - Rhyankwon/algorithms Contribute to Rhyankwon/algorithms development by creating an account on GitHub. github.com 문제 설명 ㄱㄱ~~ 오랜만에 문제 푼거 올리려니까 내가 그동안 어떤 식으로 글 썼었는지 까먹음;; 4개의 톱니바퀴가 있고 톱니바퀴를 움직인다. 톱니바퀴는 1번부터 4번까지 있고, 주어진 입력에 따라 각각을 시계방향 또는 반시계방향으로 회전시킨다. 이 때 각 톱니바퀴의 끝에는 주어지는 입력에 따라 N극 S극이 정해져잇는데, 이 극성끼리의 관계에 따라 옆쪽 톱니에도 영향을 준다. 만약 다른 쪽 톱니바퀴와 마주치는 쪽이 서로 각각 N극과 S극 이면 영향..

백준 17406번 배열 돌리기 4 파이썬 해설/코드, 구현 문제, 삼성 A형 기출, 골드4

코드만 궁금한 분은 깃허브 링크 눌러주세요! 문제 설명 ㄱㄱ 17406번: 배열 돌리기 4 크기가 N×M 크기인 배열 A가 있을때, 배열 A의 값은 각 행에 있는 모든 수의 합 중 최솟값을 의미한다. 배열 A가 아래와 같은 경우 1행의 합은 6, 2행의 합은 4, 3행의 합은 15이다. 따라서, 배열 A의 www.acmicpc.net 문제 풀이 논리! 그냥... 주어진 대로 풀면 된다. 그래도 조금 팁을 주자면, 완전 탐색 문제인데 시간을 마구 쓸수는 없는 문제이다. 나는 처음에 근처 탐색을 모두 하고 조건에 맞는 요소들만 stack에 넣어서 풀었다. 한곳을 지정하면 어차피 시계방향이니까 스택에 주변의 요소를 넣을 때 시계방향으로 미리 순서를 지정해서 넣으면 원하는 요소만 숫자를 바꿀 수 있었다. 그런데..

백준 17136 색종이 붙이기 풀이, 코드 (파이썬) 구현문제 / 삼성 A형 기출

코드만 궁금한 분은 깃허브 링크 눌러주세요! GitHub - Rhyankwon/algorithms Contribute to Rhyankwon/algorithms development by creating an account on GitHub. github.com 문제 설명ㄱㄱ 17136번: 색종이 붙이기 과 같이 정사각형 모양을 한 다섯 종류의 색종이가 있다. 색종이의 크기는 1×1, 2×2, 3×3, 4×4, 5×5로 총 다섯 종류가 있으며, 각 종류의 색종이는 5개씩 가지고 있다. 색종이를 크 www.acmicpc.net 문제 풀이 1. (0, 0) 부분부터 (9,9) 부분까지 모두 각각 1x1 부터 5x5 까지 색종이가 들어갈 수 있는지 확인해본다. 2. 이 때, 당연히 각 부분이 1인 경우에 대해..

백준 17135번 캐슬 디펜스 풀이/해설/코드 (파이썬) 삼성 A형 기출

코드만 궁금한 분은 링크 GitHub - Rhyankwon/algorithms Contribute to Rhyankwon/algorithms development by creating an account on GitHub. github.com 문제 설명을 하고싶은데 문제 설명이 참.. 그림이 있으면 쉬운데 글로 하기가 어렵다. 대충 해보지뭐 1. 1과 0으로 구성된 격자가 주어지고 그 격자의 행,열의 길이 그리고 d가 주어진다. 여기서 1을 없애야하는데.. 2. 저 격자 맨 아랫쪽의 바깥부분에는 성castle이 있음. 그리고 그 행에서 3부분을 미리 지정해두고, 각 부분에서 해밀턴거리 d인 부분까지의 1을 없앨 수 있다. 3. 1을 없애는 규칙은 총 세가지인데, 첫째는 가까운 것부터 지우기 둘째는 같은 ..

백준 17070번 파이프 옮기기 1 문제 풀이/코드 해설 (파이썬) 삼성 A형 기출

코드만 궁금한 분은 링크 GitHub - Rhyankwon/algorithms Contribute to Rhyankwon/algorithms development by creating an account on GitHub. github.com 문제 설명을 대충 하자면.. 1. NxN크기의 0으로 구성된 격자가 있고, 맨 좌측 상단에 파이프가 - 방향으로 놓여져있다. [0,0], [0,1]인덱스에 있다고 생각하면편함! 2. 그 파이프의 오른쪽 끝이 격자의 가장 오른쪽 아래 [N-1, N-1]에 닿도록 파이프를 계속 움직이면 되는데.. 3. 파이프가 - 방향으로 있으면 그 다음은 오른쪽 혹은 오른쪽 아래 방향으로만 이동 가능하고 파이프가 1 방향으로 있으면 그 다음엔 아래 혹은 오른쪽 아래방향으로만 이동 가..

728x90