알고리즘/백준123 백준 7785 회사에 있는 사람 (JAVA 자바 풀이) 백준 7785 회사에 있는 사람 (JAVA 자바 풀이) 💡 잘못된 풀이 초기 구현한 코드는 문제의 요구사항을 그대로 따른 코드였다. 1) 입력을 받으면서 2) 리스트에 직원 객체를 넣는다. 3) 이때 이미 입력으로 받은 직원이면 상태를 업데이트해주고 4) 새롭게 들어온 직원이면 객체를 생성해서 넣어준다. 5) 역순으로 정렬하고 6) 회사에 있는 직원만 출력한다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; public class Mai.. 2023. 6. 25. 백준 1181 단어 정렬 (JAVA 자바 풀이) | 문자열 길이순, 알파벳 순 정렬, 스트링 compareTo 메서드, thenComparing 메서드 백준 1181 단어 정렬 (JAVA 자바 풀이) 문제의 조건대로 정렬을 구현해주면 된다. 중복에 대한 제거는 문자열을 받으면서 배열에 저장할 때 해도 되고 마지막에 해도 된다. 가장 간단하게 컬렉션 Set을 이용해서 구현했다. 정렬은 2가지 조건을 만족해야 한다. 1. 길이순 정렬 2. 알파벳순 정렬 그 전에 시간 복잡도를 생각해보자. 데이터가 2만이고 시간은 2초이므로 넉넉한 편이다. Arrays.sort()는 참조형 타입에 대해 O(nlogn) 시간 복잡도를 보장하므로 (https://upcurvewave.tistory.com/379) 20,000개의 데이터에 대해 약 28만 번의 연산을 수행할 것이다. 문자열의 최대 길이는 50으로 주어졌기 때문에 여기에 50을 곱하면 약 1,400만으로 계산된다... 2023. 6. 25. 백준 2817 ALPS식 투표 (JAVA 자바 풀이) 백준 2817 ALPS식 투표 (JAVA 자바 풀이) 전혀 어렵게 풀 문제가 아니었는데 문제를 잘못 읽어서 한참을 헤맸다. 제대로 안 읽은 부분을 밑줄 쳐보면 다음과 같다. 1) 전체 대회 참가자의 5% 미만을 걸러야 하는 조건 참가자가 투표를 하지 않을 수도 있다는 것만 보고 총 투표수를 받아야 되나 생각했다. 어떻게 할까를 고민하다가 그냥 한 번에 받는 방법이 제일 간단해 보여서 이렇게 짰었다. List staffs = new ArrayList(); List scores = new ArrayList(); Map staffInformation = new LinkedHashMap(); while (staffCounts--> 0) { StringTokenizer stringTokenizer = new St.. 2023. 6. 24. 백준 2840 행운의 바퀴 (JAVA 자바 풀이) 백준 2840 행운의 바퀴 (JAVA 자바 풀이) 💡 풀이 과정 구현, 시뮬레이션 문제이다. 문제에서 주어진 요구 사항을 그대로 구현하면 된다. 첫번째로 입력받는 값을 임의로 설정하고 다음 순서로 들어오는 알파벳들을 배열에 채워준다. 예제 입력으로 다음과 같이 주어지는 케이스를 생각해보자. 5 6 1 A 2 B 5 B 1 C 2 A 2 B 먼저 바퀴가 5개라는 정보가 주어진다. 이는 배열의 크기가 5개보다 많을 수 없음을 나타내므로 5개 칸을 가진 배열을 만들어준다. StringTokenizer stringTokenizer = new StringTokenizer(bufferedReader.readLine()); int N = Integer.parseInt(stringTokenizer.nextToken().. 2023. 6. 24. 백준 1730 판화 (JAVA 자바 풀이) 백준 1730 판화 (JAVA 자바 풀이) 💡 코드 구현 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { private static final BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); public static void main(String[] args) throws IOException { int N = Integer.parseInt(bufferedReader.readLine()); char[][] map = new char[N][N]; fo.. 2023. 6. 9. 이전 1 ··· 4 5 6 7 8 9 10 ··· 25 다음