Algorithm/Swift 22

[백준 13335] 트럭 (Swift)

문제 : https://www.acmicpc.net/problem/13335 13335번: 트럭 입력 데이터는 표준입력을 사용한다. 입력은 두 줄로 이루어진다. 입력의 첫 번째 줄에는 세 개의 정수 n (1 ≤ n ≤ 1,000) , w (1 ≤ w ≤ 100) and L (10 ≤ L ≤ 1,000)이 주어지는데, n은 다리를 건너는 트 www.acmicpc.net 1. 문제 이해하기 강을 가로지르는 하나의 차선으로 된 다리가 하나가 있고, 이 다리를 n 개의 트럭이 건너가려고 합니다. 트럭의 순서는 바꿀 수 없으며, 트럭의 무게는 서로 같지 않을 수 있습니다. 다리 칸은 w이며, 다리 1칸 당 차 1대가 올라갈 수 있고, 다리 칸까지만 차가 올라갈 수 있습니다. 다리 위에 있는 차는 1초당 1칸씩 이..

Algorithm/Swift 2021.10.03

[백준 5582] 공통 부분 문자열 (Swift)

문제 : https://www.acmicpc.net/problem/5582 5582번: 공통 부분 문자열 두 문자열이 주어졌을 때, 두 문자열에 모두 포함된 가장 긴 공통 부분 문자열을 찾는 프로그램을 작성하시오. 어떤 문자열 s의 부분 문자열 t란, s에 t가 연속으로 나타나는 것을 말한다. 예를 들 www.acmicpc.net 1. 문제 이해하기 두 문자열이 주어집니다. 문자열의 길이는 1 이상 4000 이하 2. 문제 풀이 생각하기 LCS(최장 공통 부분 수열)에 대한 문제를 풀어본 적이 있어서 문제 풀이에 대해서 어려움은 없었습니다. 만약 문자열에서 나올 수 있는 모든 substring을 만들고 비교하는 방식으로 문제를 접근한다면, 최악의 경우 길이 4000짜리 문자열 하나의 substring을 ..

Algorithm/Swift 2021.10.01

[백준 18428] 감시 피하기 (Swift)

문제 : https://www.acmicpc.net/problem/18428 18428번: 감시 피하기 NxN 크기의 복도가 있다. 복도는 1x1 크기의 칸으로 나누어지며, 특정한 위치에는 선생님, 학생, 혹은 장애물이 위치할 수 있다. 현재 몇 명의 학생들은 수업시간에 몰래 복도로 빠져나왔는데, 복 www.acmicpc.net 1. 문제 이해하기 NxN 크기의 그래프가 있습니다. 각 칸에는 선생님(T), 학생(S), 복도(X)가 존재하고 복도에 장애물을 세워서 선생님의 감시를 피하고자 합니다. 각 선생님은 자신의 위치에서 상, 하, 좌, 우 4가지 방향으로 감시를 진행하고 아무리 멀리 있더라도 장애물로 막히기 전까지 학생들을 모두 감시할 수 있습니다. 학생들은 복도의 빈칸 중에서 장애물을 설치할 위치를..

Algorithm/Swift 2021.10.01

[Programmers] 여행경로 (Swift)

문제 : https://programmers.co.kr/learn/courses/30/lessons/43164 코딩테스트 연습 - 여행경로 [["ICN", "SFO"], ["ICN", "ATL"], ["SFO", "ATL"], ["ATL", "ICN"], ["ATL","SFO"]] ["ICN", "ATL", "ICN", "SFO", "ATL", "SFO"] programmers.co.kr 1. 문제 이해하기 항상 "ICN" 공항에서 출발합니다. 모든 공항은 알파벳 대문자 3글자로 이루어집니다. 주어진 공항 수는 3개 이상 10,000개 이하입니다. tickets의 각 행 [a, b]는 a 공항에서 b 공항으로 가는 항공권이 있다는 의미입니다. 주어진 항공권은 모두 사용해야 합니다. 만일 가능한 경로가 2..

Algorithm/Swift 2021.09.09

[Programmers] H-Index (Swift)

문제 : https://programmers.co.kr/learn/courses/30/lessons/42747 코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr 1. 문제 이해하기 해당 문제는 이해만 제대로 했다면 어렵지 않게 풀이할 수 있습니다. 어떤 과학자가 발표한 논문 n 편 중, 자연수로 시작하는 인덱스 h를 기준으로 h이상 인용된 논문이 h 편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값 리턴 예시로 더 자세하게 설명하겠습니다. 2. 문제 풀이 생각하기 처..

Algorithm/Swift 2021.09.09

[Programmers] 단어 변환 (Swift)

문제 : https://programmers.co.kr/learn/courses/30/lessons/43163 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr 1. 문제 이해하기 두 단어 begin, target, 단어의 집합 words가 주어집니다. begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 해당 조건으로만 단어를 변환할 수 있습니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 있습니다. 2. words에 있는 단어로만 변환할 수..

Algorithm/Swift 2021.09.07

[Programmers] 네트워크 (Swift)

문제 : https://programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있 programmers.co.kr 1. 문제 이해하기 노드와 간선으로 이어져 있는 트리(네트워크)의 개수를 리턴하는 문제 컴퓨터의 개수 n은 1 이상 200 이하인 자연수 각 컴퓨터는 0부터 n-1인 정수로 표현 i번 컴퓨터와 j번 컴퓨터가 연결되어 있으면 computers[i][j]를 1로 표현 computer[i][i]는 항상 1 2. 문제 풀이 생각하기 처음에는 백준처럼 모든..

Algorithm/Swift 2021.09.07

[백준 2589] 보물섬 (Swift)

문제 : https://www.acmicpc.net/problem/2589 2589번: 보물섬 보물섬 지도를 발견한 후크 선장은 보물을 찾아나섰다. 보물섬 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 각 칸은 육지(L)나 바다(W)로 표시되어 있다. 이 지도에서 www.acmicpc.net 1. 문제 이해하기 행, 열의 크기가 50 이하인 그래프에서 각 칸에 L(육지), W(바다)가 주어지고 육지에서만 상하좌우로 움직일 수 있습니다. 한 칸 이동하는데 한 시간이 걸립니다. 보물은 여러 개의 육지 덩어리 중에서 육지 칸에서 육지 칸까지 가장 긴 거리 두 곳에 나누어 묻혀있습니다. 두 곳 사이의 거리는 최단 시간 경로입니다. 이때의 두 곳 사이의 최단 거리로 이동하는 시간을 출력합..

Algorithm/Swift 2021.08.10

[백준 14503] 로봇 청소기 (Swift)

문제 : https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 1. 문제 이해하기 이 문제는 문제 풀이를 시작하기 전에 문제를 잘 읽고 이해하고 푸셔야 할 것 같습니다. 크기 3

Algorithm/Swift 2021.08.05