본문 바로가기

Java38

[Softeer] 바이러스 - JAVA 바이러스 문제 바로가기 풀이 음.. 값이 21억을 초과할 수 있으니 Long 타입으로 받으면 된다. 그 외에는 딱히 설명이 필요 없을 것 같다. import java.util.*; import java.io.*; public class Main { public static void main(String args[]) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); long K = Long.parseLong(st.nextToken()); long P = Long.parseLong(st... 2023. 8. 3.
[Softeer] GBC - JAVA GBC 문제 바로가기 풀이 구현 문제이다. 엘리베이터의 속도를 계산해서 테스트 중일때 제한속도를 초과할 경우 가장 큰 값을 구해주면 된다. 크게 3가지 경우가 있다. 1. 제한속도 체크 구간의 길이가 테스트 구간 길이보다 작을경우 2. 제한속도 체크 구간의 길이가 테스트 구간 길이보다 클 경우 3. 두 개가 같을경우 위에 경우의수에 알맞은 구현을 해주면 된다. import java.util.*; import java.io.*; import java.util.stream.IntStream; public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new .. 2023. 8. 3.
[Softeer] 회의실 예약 - JAVA 회의실 예약 문제 바로가기 풀이 소프티어 lv2 문제중엔 가장 어려운듯?.. 로직자체는 간단하지만, 구현이 꽤 복잡하다. 먼저 2개의 컬렉션이 사용한다. 1. mettingRoomList -> 단순히 회의실의 이름을 저장하는 리스트 2. reservationManageMap * Key: 회의실 이름 * Value : 예약한 시간을 나타내는 boolean 배열 map에 저장을 할때는 회의 시작 시간부터 회의 종료 시간까지 순회하며 값을 true로 바꿔줬다. (종료시간은 포함하지 않는다. 문제에도 나와있지만, 종료시간과 시작시간은 겹칠 수 있기 때문이다.) 그후 회의실 이름을 정렬 후 map에서 순회하며 StringBuilder에 값을 넣어주면되는데, 이 과정이 좀 복잡했다... 나머지는 아래 코드 참조.... 2023. 8. 3.
[Softeer] 비밀 메뉴 - JAVA 비밀 메뉴 문제 바로가기 풀이 int 배열로 풀면 구현하기가 귀찮아져서 String으로 받아 푸는게 편하다. String 으로 2개의 문자열을 받아 공백 제거 후 사용자가 클릭했던 버튼에 비밀코드가 포함되어 있는지만 체크해주면 된다. import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); br.readLine(); String target = br.readLine().replace(" ", ""); String click.. 2023. 8. 3.
[Softeer] 장애물 인식 프로그램 - JAVA 장애물 인식 프로그램 문제 바로가기 풀이 전형적인 탐색문제이다. DFS, BFS 원하는 방식으로 풀면 될 것 같다. 전체를 한번씩 순회하해야 되니까 중복 방문 방지를 위한 방문체크(visited) 가 필요하고, 순회할때마다 카운팅을 해서 마지막에 오름차순 후 출력해주면 된다. import java.util.*; import java.io.*; import java.util.stream.IntStream; public class Main { private static int N; private static int[][] arr; private static boolean[][] visited; private static List hurdleAreaCountList = new ArrayList(); priva.. 2023. 8. 2.
[Softeer] 8단 변속기 - JAVA 8단 변속기 문제 바로가기 풀이 간단한 문제이다. 입력된 배열이 오름차순이면 "ascending" 출력 내림차순이면 "descending" 출력 아닐경우 "mixed" 출력하면 된다. 이런경우는 배열을 생성하여 Arrays.equals 메서드를 사용하여 비교하는게 로직상 간단하다. import java.util.*; import java.io.*; import java.util.stream.IntStream; public class Main { private static final int[] ascending = {1, 2, 3, 4, 5, 6, 7, 8}; private static final int[] descending = {8, 7, 6, 5, 4, 3, 2, 1}; public static v.. 2023. 8. 2.