이것이 코딩 테스트 3

이코테 (파이썬) 어른 상어 풀이

[문제] https://www.acmicpc.net/problem/19237 19237번: 어른 상어 첫 줄에는 N, M, k가 주어진다. (2 ≤ N ≤ 20, 2 ≤ M ≤ N2, 1 ≤ k ≤ 1,000) 그 다음 줄부터 N개의 줄에 걸쳐 격자의 모습이 주어진다. 0은 빈칸이고, 0이 아닌 수 x는 x번 상어가 들어있는 칸을 의미 www.acmicpc.net [풀이] n, m, k = map(int, input().split()) # 모든 상어의 위치와 방향 정보를 포함하는 2차원 리스트 array = [] for i in range(n) : array.append(list(map(int, input().split()))) # 모든 상어의 현재 방향 정보 directions = list(map(in..

[DFS/BFS] 이코테 (파이썬) 감시 피하기 풀이

[문제] N x N 크기의 복도가 있습니다. 이 복도는 1 x 1 크기의 칸으로 나누어지며 특정한 위치에는 선생님, 학생, 혹은 장애물이 있습니다. 현재 학생 몇 명이 수업 시간에 몰래 복도에 나왔는데, 복도에 나온 학생들이 선생님의 감시에 들키지 않는 것이 목표입니다. 각 선생님은 자신의 위치에서 상, 하, 좌, 우 4가지 방향으로 감시를 진행합니다. 단, 복도에 장애물이 있으면 선생님은 장애물 뒤편에 숨어 있는 학생을 볼 수 없습니다. 또한 선생님은 시력이 매우 좋아 아무리 멀리 있더라도 장애물로 막히기 전까지 4가지 방향으로 학생을 모두 볼 수 있다고 합니다. 문제에서 위칫값을 나타낼 때는 (행, 열)의 형태로 표현합니다. 각 칸은 선생님이 존재하면 T, 학생이 존재하면 S, 장애물이 존재하면 O로..

[이진 탐색] 이코테 (파이썬) 정렬된 배열에서 특정 수의 개수 구하기 풀이

[문제] N개의 원소를 포함하고 있는 수열이 오름차순으로 정렬되어 있습니다. 이때 이 수열에서 x가 등장하는 횟수를 계산하세요. 예를 들어 수열 {1, 1, 2, 2, 2, 2, 3}이 있을 때 x = 2라면, 현재 수열에서 값이 2인 원소가 4개이므로 4를 출력합니다. 단, 이 문제는 시간 복잡도 O(logN)으로 알고리즘을 설계하지 않으면 시간 초과 판정을 받습니다. [입력 조건] 1. 첫째 줄에 N과 x가 정수 형태로 공백으로 구분되어 입력됩니다. (1