[백준 16946번] 파이썬 - 벽 부수고 이동하기 4
백준 16946_벽 부수고 이동하기4 시간 제한 2초, 메모리 제한 512MB # 조건 N x M 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 한 칸에서 다른 칸으로 이동하려면, 두 칸이 인접해야 한다. 두 칸이 변을 공유할 때, 인접하다고 한다. 각각의 벽에 대해 아래를 구해보려고 한다. 벽을 부수고 이동할 수 있는 곳으로 변경 그 위치에서 이동할 수 있는 칸의 개수를 세어본다. 한 칸에서 이동할 수 있는 칸은 상하좌우로 인접한 칸이다. 입력 첫째 줄에 N(1
2023.04.16
[백준 1744번] 파이썬 - 수 묶기
백준 1744_수 묶기 시간 제한 2초, 메모리 제한 128MB 조건 길이가 N인 수열이 주어졌을 때, 그 수열의 합을 구하려고 한다. 하지만, 그냥 그 수열의 합을 모두 더해서 구하는 것이 아니라, 수열의 두 수를 묶으려고 한다. 어떤 수를 묶으려고 할 때, 위치에 상관없이 묶을 수 있다. 하지만, 같은 위치에 있는 수(자기 자신)를 묶는 것은 불가능하다. 그리고 어떤 수를 묶게 되면, 수열의 합을 구할 때 묶은 수는 서로 곱한 후에 더한다. 예를 들면, 어떤 수열이 {0, 1, 2, 4, 3, 5}일 때, 그냥 이 수열의 합을 구하면 0+1+2+4+3+5 = 15이다. 하지만, 2와 3을 묶고, 4와 5를 묶게 되면, 0+1+(23)+(45) = 27이 되어 최대가 된다. 수열의 모든 수는 단 한번만..
2023.04.15
[백준 2162번] 파이썬 - 선분 그룹
백준 2162-선분 그룹 시간 제한 2초, 메모리 제한 128MB # 조건 N개의 선분들이 2차원 평면상에 주어졌다. 선분은 양 끝점의 x, y좌표로 한다. 두 선분이 서로 만나는 경우, 두 선분은 같은 그룹에 속한다고 정의 그룹의 크기는 그 그룹에 속한 선분의 개수로 정의 두 선분이 주어졌을 때, 이 선분들은 총 몇 개의 그룹으로 되어있을까? 또, 가장 큰 그룹에 속한 선분의 개수는 몇 개일까? 입력 첫째 줄에 N(1 ≤ N ≤ 3,000)이 주어진다. 둘째 줄부터 N+1번째 줄에는 양 끝점의 좌표가 x1, y1, x2, y2의 순서로 주어진다. 각 좌표의 절댓값은 5,000을 넘지 않으며, 입력되는 좌표 사이에는 빈칸이 하나 있다. 출력 첫째 줄에 그룹의 수를, 둘째 줄에 가장 크기가 큰 그룹에 속한..
2023.04.12
[프로그래머스 Lv1] 파이썬 - 달리기 경주
프로그래머스 Lv1. 달리기 경주 # 조건 얀에서는 매년 달리기 경주가 열립니다. 해설진들은 선수들이 자기 바로 앞의 선수를 추월할 때 추월한 선수의 이름을 부릅니다. 예를 들어 1등부터 3등까지 "mumu", "soe", "poe" 선수들이 순서대로 달리고 있을 때, 해설진이 "soe"선수를 불렀다면 2등인 "soe" 선수가 1등인 "mumu" 선수를 추월했다는 것입니다. 즉 "soe" 선수가 1등, "mumu" 선수가 2등으로 바뀝니다. 선수들의 이름이 1등부터 현재 등수 순서대로 담긴 문자열 배열 players와 해설진이 부른 이름을 담은 문자열 배열 callings가 매개변수로 주어질 때, 경주가 끝났을 때 선수들의 이름을 1등부터 등수 순서대로 배열에 담아 return 하는 solution 함수..
2023.04.10
[코드트리] 파이썬 - 코드트리 빵
코드트리 - 코드트리 빵 조건 빵을 구하고자 하는 m명의 사람이 있는데, 1번 사람은 정확히 1분에, 2번 사람은 정확히 2분에, .. , m번 사람은 정확히 m분에 각자의 베이스캠프에서 출발하여 편의점으로 이동하기 시작 사람들은 출발 시간이 되기 전까지 격자 밖에 나와잇으며, 사람들이 목표로하는 편의점은 모두 다르다. 격자의 크기는 n * n 코드트리 빵을 구하고 싶은 사람들은 아래와 같은 방법으로 움직이며, 3가지 행동은 총 1분 동안 진행되며, 정확히 1, 2, 3 순서로 진행됨 격자에 있는 사람들 모두가 본인이 가고 싶은 편의점 방향을 향해서 1 칸 움직입니다. 최단거리로 움직이며 최단 거리로 움직이는 방법이 여러가지라면 ↑, ←, →, ↓ 의 우선 순위로 움직이게 됩니다. 여기서 최단거리라 함은..
2023.04.09
no image
[코드트리] 파이썬 - 예술성
https://www.codetree.ai/training-field/frequent-problems/artistry/description?page=3&pageSize=20&username= 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 코드트리 삼성 sw 역량 기출문제 # 조건 N x N 크기의 격자에서 각 칸의 색깔을 1이상 10이하의 숫자로 표현한다. 동일한 숫자가 상하좌우로 인접해있는 경우 동일한 그룹이라 본다. 예술 점수는 모든 그룹 쌍의 조화로움의 합으로 정의 그룹 a와 그룹 b의 조화 로움은 (그룹 a에 속한 칸의 수 + 그룹 b에 속한..
2023.04.07
[백준 14888번] 파이썬 - 연산자 끼워넣기
http://www.acmicpc.net/problem/14888 시간 제한 2초, 메모리 제한 512MB # 조건 N개의 수로 이루어진 수열 A1, A2, ..., AN이 주어진다. 또, 수와 수 사이에 끼워넣을 수 있는 N-1개의 연산자가 주어진다. 연산자는 덧셈(+), 뺄셈(-), 곱셈(×), 나눗셈(÷)으로만 이루어져 있다. 우리는 수와 수 사이에 연산자를 하나씩 넣어서, 수식을 하나 만들 수 있다. 이때, 주어진 수의 순서를 바꾸면 안 된다. 예를 들어, 6개의 수로 이루어진 수열이 1, 2, 3, 4, 5, 6이고, 주어진 연산자가 덧셈(+) 2개, 뺄셈(-) 1개, 곱셈(×) 1개, 나눗셈(÷) 1개인 경우에는 총 60가지의 식을 만들 수 있다. 예를 들어, 아래와 같은 식을 만들 수 있다...
2023.04.07
no image
[백준 20056번] 파이썬 - 마법사 상어와 파이어볼
백준 20056_마법사 상어와 파이어볼 시간 제한 1초, 메모리 제한 512MB # 조건 마법사 상어가 크기가 N×N인 격자에 파이어볼 M개를 발사했다. 가장 처음에 파이어볼은 각자 위치에서 이동을 대기하고 있다. i번 파이어볼의 위치는 (ri, ci), 질량은 mi이고, 방향은 di, 속력은 si이다. 위치 (r, c)는 r행 c열을 의미한다. 격자의 행과 열은 1번부터 N번까지 번호가 매겨져 있고, 1번 행은 N번과 연결되어 있고, 1번 열은 N번 열과 연결되어 있다. 파이어볼의 방향은 어떤 칸과 인접한 8개의 칸의 방향을 의미하며, 정수로는 다음과 같다. 마법사 상어가 모든 파이어볼에게 이동을 명령하면 다음이 일들이 일어난다. 모든 파이어볼이 자신의 방향 di로 속력 si칸 만큼 이동한다. 이동하는..
2023.04.06
[백준 14503번] 파이썬 - 로봇 청소기
백준 14503_로봇 청소기 시간제한 2초, 메모리제한 2MB # 조건 로봇 청소기와 방의 상태가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 방은 N x M 크기의 직사각형으로 나타낼 수 있으며, 1×1 크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 벽 또는 빈 칸이다. 청소기는 바라보는 방향이 있으며, 이 방향은 동, 서, 남, 북 중 하나이다. 방의 각 칸은 좌표 (r,c)로 나타낼 수 있고, 가장 북쪽 줄의 가장 서쪽 칸의 좌표가 (0,0), 가장 남쪽 줄의 가장 동쪽 칸의 좌표가 (N-1, M-1)이다. 즉, 좌표 (r,c)는 북쪽에서 (r+1)번째에 있는 줄의 서쪽에서 (c+1)번째 칸을 가리킨다. 처음에 빈 칸은 전부 청소되지 않은 상태이다. ..
2023.04.04