구현 18

[백준 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

[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

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

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

Algorithm/Swift 2021.08.05

[Programmers] 프린터 (Swift)

문제 : https://programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr 1. 문제 이해하기 대기목록에 있는 문서의 중요도 배열(priorities), 요청한 문서의 현재 위치(location)가 주어졌을 때, 요청한 문서가 몇 번째로 인쇄되는지 구하기 대기목록 배열 크기 1 이상 100 이하 인쇄 작업의 중요도는 1 ~ 9이며 클수록 중요하다. 2. 문제 풀이 생각하기 처음에는 문서의 위치와 우선순위를 해시 테이블로 만드려고 ..

Algorithm/Swift 2021.07.26

[Programmer] 짝지어 제거하기 (Swift)

문제 : https://programmers.co.kr/learn/courses/30/lessons/12973 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr 1. 문제 이해하기 문자열이 주어졌을 때, 연속한 두 문자가 동일하면 제거하고, 제거 한 부분을 다시 앞 뒤로 이어주는 과정을 반복합니다. 이때, 모든 문자열이 제거되면 1, 하나라도 남아있으면 0 문자열의 길이는 1 이상 1,000,000 이하의 자연수 2. 문제 풀이 생각하기 문자열의 길이가 최대 1,000,000이 될 수 있기 때문에 ..

Algorithm/Swift 2021.07.16

[Programmers] 오픈채팅방 (Swift)

문제 : https://programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 1. 문제 이해하기 문자열 배열 형태로 각 문자열의 첫 번째 단어는 입장, 퇴장, 변경, 두 번째는 유저 아이디, 세 번째는 닉네임이 저장되어 있습니다. 모든 record를 수행하고 나서, 변경이 있다면 변경된 닉네임을 기준으로, 최종적으로 오픈 채팅방에 출력되는 문자열 배열 출력 record는 1 이상 100,000 이하 입출력 예시를 보면 확실히 문..

Algorithm/Swift 2021.07.13