Coding Test/이것이 코딩 테스트다
-
[이코테 DFS&BFS] 음료수 얼려 먹기Coding Test/이것이 코딩 테스트다 2020. 10. 20. 23:09
# 문제 N * M 크기의 얼음틀이 있다. 구멍이 뚫려있는 부분은 0, 칸막이가 존재하는 부분은 1로 표시된다. 구멍이 뚫려 있는 부분끼리 상, 하, 좌, 우로 붙어 있는 경우 서로 연결되어 있는 것으로 간주한다. 이때 얼음 틀의 모양이 주어졌을 때 생성되는 총 아이스크림의 개수를 구하는 프로그램을 작성하시오. 다음의 4 X 5 얼음 틀 예시에서는 아이스크림이 총 3개 생성된다. 00110 00011 11111 00000 입력 첫 번째 줄에 얼음 틀의 새로 길이 N과 가로 길이 M이 주어진다.( 1
-
[이코테 구현-시뮬레이션] 게임개발Coding Test/이것이 코딩 테스트다 2020. 10. 20. 23:02
# 문제 현민이는 게임캐릭터가 맵 안에서 움직이는 시스템을 개발중이다. 캐릭터가 있는 장소는 1 * 1 크기의 정사각형으로 이뤄진 N * M 크기의 직사각형으로, 각각의 칸은 육지 또는 바다이다. 캐릭터는 동서남북 중 한 곳을 바라본다. 맵의 각칸은 (A, B)로 나타낼 수 있고, A는 북쪽으로부터 떨어진 칸의 갯수, B는 서쪽으로부터 떨어진 칸의 개수이다. 캐릭터는 상하좌우로 움직일 수 있고, 바다로 되어 있는 공간에는 갈 수 없다. 캐릭터의 움직임을 설정하기 위해 정해놓은 매뉴얼은 이러하다. 1. 현재 위치에서 현재 방향을 기준으로 왼쪽 방향(반시계 방향으로 90도 회전한 방향)부터 차례대로 갈 곳을 정한다. 2. 캐릭터의 바로 왼쪽 방향에 아직 가보지 않은 칸이 존재한다면, 왼쪽 방향으로 회전한 다..
-
[이코테 구현-시뮬레이션] 왕실의 나이트Coding Test/이것이 코딩 테스트다 2020. 10. 20. 22:50
# 문제 행복왕국의 왕실정원은 체스판과 같은 8 * 8좌표 평면이다. 왕실 정원의 특정한 한 칸에 나이트가 서있다. 나이트는 매우 충성스러운 신하로서 매일 무술을 연마한다. 나이트는 말을 타고 있기 때문에 이동을 할때는 L자 형태로만 이동할 수 있으며 정원 밖으로는 나갈 수 없다. 나이트는 특정한 위취에서 다음과 같은 2가지 경우로 이동할 수 있다. 수평으로 두 칸 이동한 뒤에 수직으로 한 칸 이동하기 수직으로 두칸 이동한 뒤에 수평으로 한 칸 이동하기 이처럼 8 * 8 좌표 평면상에서 나이트의 위치가 주어졌을 때 나이트가 이동할 수 있는 경우의 수를 출력하는 프로그램을 작성하시오. 이때 왕실의 정원에서 행 위치를 표현할 떄는 1부터 8로 표현하며, 열 위치를 표현할 때는 a부터 h까지 로 표현한다. 예..
-
[이코테 Greedy] 큰 수의 법칙Coding Test/이것이 코딩 테스트다 2020. 10. 20. 21:26
# 문제 '큰 수의 법칙'은 일반적으로 통계 분야에서 다루어지는 내용이지만 동빈이는 본인만의 방식으로 다르게 사용하고 있다. 동빈이의 큰수의 법칙은 다양한 수로 이루어진 배열이 있을 때 주어진 수들을 M번 더하여 가장 큰수를 만드는 법칙이다. 단, 배열의 특정한 인덱스(번호)에 해당하는 수가 연속해서 K번을 초과하여 더해질 수 없는 것이 이 법칙의 특징이다. 예를 들어 순서대로 2, 4, 5, 4, 6으로 이루어진 배열이 있을 때, M이 8이고 K가 3이라고 가정하자. 이 경우 특정한 인덱스의 수가 연속해서 세 번까지만 더해질 수 있으므로 큰 수의 법칙에 따른 결과는 6 + 6 + 6 + 5 + 6 + 6 + 6 + 5인 46이 된다. 단, 서로 다른 인덱스에 해당하는 수가 같은 경우에도 서로 다른 것으..
-
[코테] 코테에 유용한 파이썬 조각 모음Coding Test/이것이 코딩 테스트다 2020. 9. 8. 20:49
※ 대체로 코딩테스트 문제의 시간 제한은 1~5초 정도이며, 시간 제한이 명시되어 있지 않다면 대략 5초로 생각하자. ※ 코테에서 주로 사용되는 시간 복잡도는 선형 시간 O(N), 로그 선형 시간 O(NlogN), 이차 시간 O(N²)이다. ※ 파이썬의 들여쓰기는 스페이스 바(Space Bar)를 4번 입력하여 작성하자! (많은 파이썬 커뮤니티에서 사실상의 표준) # 리스트 컴프리헨션은 튜플, 딕셔너리에서도 가능하다. # 리스트 컴프리헨션을 사용한 2차원 리스트 초기화 2차원 리스트 초기화에서는 반드시 리스트 컴프리헨션을 사용하자! (편리함!!!) # N X M 크기의 2차원 리스트 초기화 n = 3 m = 3 array = [[0] * m for _ in range(n)] print(array) [[0..