분류 전체보기

    [python] 백준 - 17144. 미세먼지 안녕!(삼성 SW 역량 테스트 기출 문제)

    [python] 백준 - 17144. 미세먼지 안녕!(삼성 SW 역량 테스트 기출 문제)

    문제 해결 1. 먼지를 동시에 확산시킨다. (1) 똑같은 크기의 0으로 채워진 임시 2중 배열을 만든다. (2) 확산시킬 양만큼 임시 배열에 더해준다. ( 그렇게 하면서 확산시킨양만큼 원래의 배열에서 빼준다. ) (3) 확산이 모두 완료되면 임시배열에 있는 값을 원래 배열에 더해준다. 2. 공기청정기 | 먼지를 빨아들이는 방향으로 생각해보자. (1) 공기청정기에서 화살표의 역방향으로 차근차근 이동한다. (2) 이동하면서 다음위치에 먼지가 있으면 현재위치에 덮어씌워준다. -> 처음에 먼지를 확산시킬 때 기존의 먼지가 있는 곳은 확산이 안된다고 혼자 착각을 해서 문제를 이해하는데 많은 시간이 걸렸다. (이웃님이 명쾌하게 알려줘서 금방 해결!) -> 공기청정기가 자기 자신으로 돌아올수 있도록 x의 탐색 범위를..

    [python] 백준 - 1987. 알파벳

    출처 : BACKJOON ONLINE JUDGE 문제 : https://www.acmicpc.net/problem/1987 1987번: 알파벳 문제 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 www.acmicpc.net 문제 해결 1. DFS/BFS 를 활용하는 방법과 백트래킹을 활용하는 방법 중 하나를 사용하면 된다. ( 여기서는 백트래킹을 사용했다. ) 2. 함수 인자로 ( x좌표, y좌표, 지나가면서 늘어가는 단어) 이 3개를 받는다. 3. 상하좌우 방향을 탐색하면서, 이미 가지고 있는 단어에 포함되어 있는 문자인지 확인해주고 4. 한칸씩 전전..

    [python] 백준 - 14890. 경사로(삼성 SW 역량 테스트 기출 문제)

    [python] 백준 - 14890. 경사로(삼성 SW 역량 테스트 기출 문제)

    출처 : BACKJOON ONLINE JUDGE 문제 : https://www.acmicpc.net/problem/14890 14890번: 경사로 첫째 줄에 N (2 ≤ N ≤ 100)과 L (1 ≤ L ≤ N)이 주어진다. 둘째 줄부터 N개의 줄에 지도가 주어진다. 각 칸의 높이는 10보다 작거나 같은 자연수이다. www.acmicpc.net 문제 해결 1. 하나의 1차원 배열(길)에서 현재위치와 전위치의 높낮이를 비교 (1) 높이가 두칸차이 이상 차이날때 × (2) 높이가 같을 때 ○ (3) 높이가 한칸 차이 날 때 △ 2. 높이가 한칸 차이 날때 경사로를 놓을 수 있는 지 없는 지 확인을 해준다. (1) 경사로를 놓을 수 있는 길이 l 만큼 꼭 지어야 하므로 그만큼 길이 남았는지 확인해준다(인덱스 ..

    [python] 백준 - 14891. 톱니바퀴 (삼성 SW 역량 테스트 기출 문제)

    [python] 백준 - 14891. 톱니바퀴 (삼성 SW 역량 테스트 기출 문제)

    출처 : BACKJOON ONLINE JUDGE 문제 : https://www.acmicpc.net/problem/14891 14891번: 톱니바퀴 총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴 www.acmicpc.net 문제 해결 순서 1. 각 톱니바퀴의 왼쪽(6번 인덱스) 오른쪽(2번 인덱스)를 이용하여 회전 가능 여부를 검사한다. 2. 처음 정해진 톱니바퀴와 인접한 톱니바퀴가 회전할 수 있는지를 검사한다. 3. 인접한 톱니바퀴가 회전할 수 있다면 그 톱니바퀴에 인접한 톱니바퀴를 다시 검사한다. 4. 처음 정해진 톱니바퀴의 회전방향에 따라 각 톱니바퀴..

    [python] 백준 - 14503. 로봇 청소기 (삼성 SW 역량 테스트 기출 문제)

    출처 : BACKJOON ONLINE JUDGE 문제 : https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 문제 요약 1(벽)과 0(청소가능)으로 구성 된 2차원 배열에 로봇 청소기 한대가 놓여있다. 로봇청소기는 바라보고 있는 방향이 있으며 벽을 제외한 인접한 네방향으로 이동할 수 있다. 로봇 청소기가 이동하며 청소한 구역의 수를 구하는 문제 ※ 특별한 알고리즘 없이 제시된 상황을 구현하는 문제이다. 1. 입력 sero, garo = map(i..