본문 바로가기

2025/Solving22

PGMRS_오픈채팅방(카카오 2019, JAVA) https://school.programmers.co.kr/learn/courses/30/lessons/42888 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 순서대로 출력하면 되는 문제가 아니고, 중간에 닉네임 바꾼 사람은 바꾸기 전의 로그까지 싹 바뀐 닉네임으로 바꾸어서 출력해야 하는 문제다. HashMap을 활용해서 풀이했다. import java.util.*;class Solution { public String[] solution(String[] record) { // uid와 닉네임 매칭하는 HashMap HashMap nicknames = new HashMap(); .. 2025. 10. 6.
PGMRS_튜플(카카오 2019, JAVA) https://school.programmers.co.kr/learn/courses/30/lessons/64065 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제를 이해하는 데 시간이 좀 걸렸다.이 문제는 직관으로 이해하기보다는 찬찬히 입출력 예시까지 잘 보아야 한다. 그리고 한 가지를 유념해야 한다. 집합은 원소의 순서를 보장하지 않는다.첨에 뭔 소리야? 당연한 얘기 아냐? 싶어도 문제 이해할 때 곱씹다 보면 아 ~ 하게 됨 첫 인상처음에 문제만 대충 읽고 .... 특히예를 들어 튜플이 (2, 1, 3, 4)인 경우 이는 {{2}, {2, 1}, {2, 1, 3}, {2, 1, 3, 4}} 와 같이 표현할.. 2025. 10. 3.
BOJ_14501 퇴사(JAVA) 접은 글에 문제 있음더보기 문제상담원으로 일하고 있는 백준이는 퇴사를 하려고 한다.오늘부터 N+1일째 되는 날 퇴사를 하기 위해서, 남은 N일 동안 최대한 많은 상담을 하려고 한다.백준이는 비서에게 최대한 많은 상담을 잡으라고 부탁을 했고, 비서는 하루에 하나씩 서로 다른 사람의 상담을 잡아놓았다.각각의 상담은 상담을 완료하는데 걸리는 기간 Ti와 상담을 했을 때 받을 수 있는 금액 Pi로 이루어져 있다.N = 7인 경우에 다음과 같은 상담 일정표를 보자. (윗줄이 Ti, 아랫줄이 Pi) 35112421020102015402001일에 잡혀있는 상담은 총 3일이 걸리며, 상담했을 때 받을 수 있는 금액은 10이다. 5일에 잡혀있는 상담은 총 2일이 걸리며, 받을 수 있는 금액은 15이다.상담을 하는데 필요.. 2025. 9. 24.
BOJ_13458 시험 감독(JAVA) 백준 너무 오랜만이라 엄청 헤맴 문제 접은글 안에 있음더보기문제총 N개의 시험장이 있고, 각각의 시험장마다 응시자들이 있다. i번 시험장에 있는 응시자의 수는 Ai명이다.감독관은 총감독관과 부감독관으로 두 종류가 있다. 총감독관은 한 시험장에서 감시할 수 있는 응시자의 수가 B명이고, 부감독관은 한 시험장에서 감시할 수 있는 응시자의 수가 C명이다.각각의 시험장에 총감독관은 오직 1명만 있어야 하고, 부감독관은 여러 명 있어도 된다.각 시험장마다 응시생들을 모두 감시해야 한다. 이때, 필요한 감독관 수의 최솟값을 구하는 프로그램을 작성하시오. 입력첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다.둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000).. 2025. 9. 23.
PGMRS_대충 만든 자판(JAVA) https://school.programmers.co.kr/learn/courses/30/lessons/160586?language=java 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr import java.util.*;class Solution { static class Keys { char key; int index; Keys(char key, int index){ this.key = key; this.index = index; } } public static HashMap findKey; pub.. 2025. 9. 15.
PGMRS_덧칠하기(JAVA) https://school.programmers.co.kr/learn/courses/30/lessons/161989?language=java 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krclass Solution { /* NOTE section에 있는 요소를 차례로 검토 맨 처음 요소는 무조건 시작점이 됨 * m = 1이면 무조건 section 길이를 리턴함 * O(n)으로 순회 한 번 하고 끝내는 알고리즘 예외를 찾는 게 중요할 것 같고(무조건 0 ~ n 방향으로 순회하는 게 모든 예외 케어 가능한지?, 거꾸로 순회했을 때 차수가.. 2025. 9. 11.
PGMRS_성격 유형 검사하기(카카오 2022, JavaScript) 이 문제도 곧 자바 풀이로 올라올 예정. https://school.programmers.co.kr/learn/courses/30/lessons/118666?language=javascript 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제와 배점과 응답 기록이 주어지면, 결과로 나올 MBTI(?)를 판정하는 문제다. /* 1. 성격 지표 관리하는 방법 * 2차원 배열로 관리 * [[R, T],[C, F], [J, M], [A, N]] 2. 점수 합산하는 방식 * 좀 더 빠르게 -> Map에 key, value 집어넣고 index return되도록 짜면 됨 .. 2025. 8. 10.
PGMRS_추억 점수(JAVA) https://nogotit.tistory.com/entry/PGMRS%EC%B6%94%EC%96%B5-%EC%A0%90%EC%88%98JavaScript PGMRS_추억 점수(JavaScript)https://school.programmers.co.kr/learn/courses/30/lessons/176963?language=javascript 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 사진 속 인물에nogotit.tistory.com이 로직이 다른 언어에서도 통할까? import java.util.*;class Solution { public int[] solution(String[] name, i.. 2025. 8. 10.
PGMRS_추억 점수(JavaScript) https://school.programmers.co.kr/learn/courses/30/lessons/176963?language=javascript 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 사진 속 인물에게 그리운 만큼의 점수를 매긴다는(??) 독특한 내용의 문제다. 너 T야? 소리 듣기 딱 좋은 방식인데 ㅋㅋ 이 문제를 두 가지 풀이로 진행해 보았다. 첫 번째 풀이function solution(name, yearning, photo) { var answer = []; for(let j = 0; j간단한 3중 for문을 이용한 완전탐색이다. 변수 선언부만 바꾸어 주면 자바 풀이로도 손.. 2025. 8. 10.
PGMRS_지폐 접기(PCCE 기출, JAVA) https://school.programmers.co.kr/learn/courses/30/lessons/340199 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 간단하게 풀었다. class Solution { static int[] wallet; public void fold(int[] bill){ if(bill[0] > bill[1]) bill[0] /= 2; else bill[1] /= 2; } public boolean check(int[] bill){ if(wallet[0] >= bill[0] && wallet[1] >= bill.. 2025. 6. 16.