반응형

전체 글 201

[프로그래머스] Level2 : 전화번호 목록 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/42577 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr[풀이과정]정렬하면 사전순으로 정렬돼서 앞의 번호와 비교만 해주면 된다 [코드]import java.util.*;class Solution { public boolean solution(String[] phone_book) { //1. 사전순 정렬 Arrays.sort(phone_book); //2. 인접한 번호 비교 for(int i = 1; i

프로그래머스 2025.08.05

[프로그래머스] Level1 : 완주하지 못한 선수 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/42576?language=java# 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr [풀이과정]전체 - (전체-1)이 된 나머지 하나를 찾으면 되는 문제.이름이 중복되기 때문에 hashmap으로 이름의 개수를 카운팅해주며 O(n)으로 풀었다. [코드]import java.util.*;import java.io.*;class Solution { public String solution(String[] participant, String[] completion) { Map map = new Ha..

프로그래머스 2025.08.05

[백준] 1946 : 신입 사원 (JAVA)

https://www.acmicpc.net/problem/1946 [풀이과정]N이 10만이라 두 값을 모두 탐색하게 되면 이중포문이라 시간초과가 나기 때문에 한 값만 비교하게 하는 방향으로 고민했다.먼저 서류 등수를 기준으로 오름차순 정렬을 한 후 면접 등수를 비교하며 한 번의 탐색으로 값을 구했다. [코드]import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Collections;import java.util.List;import java.util.StringTokenizer;public class Main { s..

백준/완전탐색 2025.05.26

[백준] 14889 : 스타트와 링크 (JAVA)

https://www.acmicpc.net/problem/14889 [풀이과정]N/2를 선택해주고 팀 능력치 계산해주기 [코드]import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;/*축가 - 평일 오후, 필참x사람 N명 (N은 짝수)N/2씩 스타트팀, 링크팀으로 나누기1번부터 N번.능력치 Sij는 i와 j가 같은 팀에 속했을 때의 능력치 (Sji와 다를 수 있음)i와 j가 같은 팀이면 Sij + Sji 가 더해짐.능력치 차이를 최소로 하려 함. */public class Main { static BufferedReader br = n..

백준/완전탐색 2025.04.28

[백준] 1931 : 회의실 배정 (JAVA)

https://www.acmicpc.net/problem/1931 [풀이과정]끝나는 시간을 기준으로 오름차순 정렬을 해주고끝나는 시간이 같을 때는 시작시간을 기준으로 오름차순 정렬을 해준다-> 기준을 안 잡아주거나 내림차순으로 하면 틀림-> 반례 중, 시작시간이 끝시간보다 느린 경우가 있음. 문제가 좀 이상함. [코드]import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Comparator;import java.util.PriorityQueue;import java.util.StringTokenizer;/*N개의 회의회의 시작시간, 끝나는 시간 주어짐겹치지 않게 하며 ..

알고리즘/정렬 2025.04.28

[프로그래머스] Level2 : 타겟 넘버 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr [풀이과정]처음엔 visited를 사용해서 -로 사용할 부분을 체크해서 계산했는데, 이렇게 되면 같은 케이스인데 다르게 취급되어서 중복된 값처리가 이루어지는 로직이었다.그냥 단순하게 풀면 되는 거였음.. 생각을 깊게 하고 버릇처럼 코드 짜는 걸 반성했다. [코드]import java.io.*;class Solution { static int cntNumbers, answer, targetNum; public int solution(i..

[프로그래머스] Level2 : 다리를 지나는 트럭 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/42583?language=java 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr [풀이과정]테케로 문제 이해를 해야 해서 좀 힘들었다.바보처럼 이해를 못 해서 엄청 헤맸음..ㅠㅜ 그렇게 어려운 문제는 아니었는데queue를 이용했고 그냥 주어진 순서대로만 무게 되는지 체크해서 트럭 올려두면 된다 [코드]import java.io.*;import java.util.*;class Solution { public int solution(int bridge_length, int weight, int[]..

알고리즘/큐 2025.04.25

[프로그래머스] Level2 : 모음사전 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/84512?language=java 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr [풀이과정]처음엔 복잡하게 풀었다가 생각을 바꾸고 훨씬 간단한 코드로 통과했다.DFS 개념을 가져다가 풂. [코드]class Solution { static int answer = 0; static int number = 0; static String[] alphabet = {"A", "E", "I", "O", "U"}; public int solution(String word) { p..

[백준] 2573 : 빙산 (JAVA)

https://www.acmicpc.net/problem/2573 [풀이과정]계속 시간초과가 나서 미치는 줄 ㅠㅠ한 번의 탐색으로 가능한 작업을 여러 탐색으로 했던 게 문제였다.new보다는 fill로 배열을 재사용하는 게 더 낫다는 걸 배움. [코드]import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;/*칸의 높이는 바다와 인접한 면의 개수만큼 줄어듦.0이하로는 줄어들지 않음빙산이 두 덩어리 이상으로 분리되는 최소의 시간(년)을 구하기 */public class Main { static BufferedReader br = new BufferedReader(n..

백준/DFS BFS 2025.04.23

[백준] 16139 : 인간컴퓨터상호작용 (JAVA)

https://www.acmicpc.net/problem/16139 [풀이과정]처음엔 구간을 나눠서 탐색했는데 50점 받았다.값이 엄청 커져도 제대로 수행되려면 탐색을 줄여야 했기 때문에 누적합 방식으로 풂. 이게 맞는 방식이었다.알파벳이 26개이니까 한 번의 탐색으로 str.index까지 알파벳이 몇 개 있는지 저장했고(l, r) -> l - (r-1) 으로 값을 구했음 [코드-100점]import java.io.*;import java.util.*;/*특정 문자열, 특정 알파벳과 문자열의 구간 [l,r]특정 알파벳이 몇 번 나타나는지 구하기 */public class Main { static BufferedReader br = new BufferedReader(new InputStreamRead..

알고리즘/DP 2025.04.23
반응형