자바
[JAVA] 광고 삽입
문제 코딩테스트 연습 - 광고 삽입 시간을 나타내는 HH, H1, H2의 범위는 00~99, 분을 나타내는 MM, M1, M2의 범위는 00~59, 초를 나타내는 SS, S1, S2의 범위는 00~59까지 사용됩니다. 잘못된 시각은 입력으로 주어지지 않습니다. (예: 04:60:24, 11 programmers.co.kr 해결 방법 처음에는 3차원 배열을 사용해서 play_num[시간][분][초] 에 해당하는 시간에 시청 중인 사람의 수를 기록하려고 했는데, 시분초를 계속 변환해줘야해서 상당히 귀찮았다. 그래서 초로 통합을 해서 값을 구하기로 하였다. 문제에서 시간은 hh:mm:ss 로 되어있어 :을 기준으로 split을 사용하여 나누어 주었고, logs 같은 경우는 hh:mm:ss-hh:mm:ss 로 ..
[JAVA] 합승 택시 요금
문제 코딩테스트 연습 - 합승 택시 요금 6 4 6 2 [[4, 1, 10], [3, 5, 24], [5, 6, 2], [3, 1, 41], [5, 1, 24], [4, 6, 50], [2, 4, 66], [2, 3, 22], [1, 6, 25]] 82 7 3 4 1 [[5, 7, 9], [4, 6, 4], [3, 6, 1], [3, 2, 3], [2, 1, 6]] 14 6 4 5 6 [[2,6,6], [6,3,7], [4,6,7], [6,5,11], [2,5,12], [5,3,20], [2,4 programmers.co.kr 해결 방법 요즘 코딩 테스트를 볼 때 프로그래머스를 많이 이용하기에, 적응을 위해 프로그래머스 문제를 조금 풀어보고 있다. 집까지 가는 최소 비용의 길을 찾는 문제인데, 도착 지점..
[JAVA] 백준 1240 : 노드사이의 거리
문제 1240번: 노드사이의 거리 N(2≤N≤1,000)개의 노드로 이루어진 트리가 주어지고 M(M≤1,000)개의 두 노드 쌍을 입력받을 때 두 노드 사이의 거리를 출력하라. www.acmicpc.net 해결 방법 가중치가 있는 트리의 탐색 문제의 기본이다. class를 이용해서 다음 방문할 위치와 거리를 입력해두고 탐색하면서 거리를 계속 더 해주면 된다. 탐색은 BFS를 사용했다. 간선을 입력할 때 양쪽으로 이동이 가능하게끔 쌍방향으로 리스트에 넣어주어야 한다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java..
[JAVA] 백준 8972 : 미친 아두이노
문제 8972번: 미친 아두이노 요즘 종수는 아두이노를 이용해 "Robots"이라는 게임을 만들었다. 종수는 아두이노 한대를 조정하며, 미친 아두이노를 피해다녀야 한다. 미친 아두이노는 종수의 아두이노를 향해 점점 다가온다. www.acmicpc.net 해결 방법 다 풀고 나서 보니 BFS 방법을 이용해서 푸신 분들도 있었다. 그 분들에 비하면 내 코드가 속도가 느리긴 하지만, 이런 코드도 있다 정도로 봐주면 좋겠다. 문제의 1~5번을 순서대로 구현했고, 방향은 dx, dy 배열을 통해 입력해두었다. 입력의 젤 마지막에 종수가 움직이는 방향이 주어지는데, 주어질 때마다 moveI 함수를 실행시켜 전체 맵을 변경시켜주었다. moveI 함수는 처음에 입력받은 값에 따라 종수 아두이노를 움직이고, 종수 아두이..
![[JAVA] 백준 11967 : 불켜기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcwEy6S%2Fbtq27UQbXoo%2FC9BCKODyaT00X25FI1sFUk%2Fimg.gif)
[JAVA] 백준 11967 : 불켜기
문제 11967번: 불켜기 (1, 1)방에 있는 스위치로 (1, 2)방과 (1, 3)방의 불을 켤 수 있다. 그리고 (1, 3)으로 걸어가서 (2, 1)방의 불을 켤 수 있다. (2, 1)방에서는 다시 (2, 2)방의 불을 켤 수 있다. (2, 3)방은 어두워서 갈 수 없으 www.acmicpc.net 해결 방법 루모스 ~ 기본적인 탐색 문제에서 불을 켜고, 불이 켜진 방만 이동이 가능한 조금 응용된 문제이다. 각 방에 있는 스위치를 나타내기 위해서 ArrayList 배열을 사용해서 리스트에 불을 켤 수 있는 곳의 좌표를 넣어 두었고, light와 visit을 활용해서 불이 켜져 있는지 여부와 방문 여부를 체크하였다. 탐색은 BFS를 사용했는데 불을 켤 수 있는 방이 존재하는지 여부는 리스트가 비었는지 ..