JAVA/Coding Test Study151 [Lv.2] 문자열 압축 : Java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이해하기 처음 생각했던 건 문자열의 길이의 약수들로 쪼개어보는 것이었다. 예를 들어 "aabbaccc" 의 길이는 8이니 스스로를 제외한 약수인 1, 2, 4로 문자열을 쪼개보는 것이다. 하지만 역시나 fail... 왜일까 생각해봤는데 약수로 접근했던 방법이 틀렸던 것 같다. 굳이 약수가 아니더라도 주어진 문자열의 절반까지만 for문을 돌리면 된다. (절반으로 잡은 이유 : 절반을 넘게 되면 2번 이상 반복 불가) 문제풀이 class Solution { public int solution(String s) {.. 2024. 2. 28. [Lv.2] 거리두기 확인하기 : Java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이해하기 대기실의 모든 자리를 탐색하면서 모든 P를 찾는다. 모든 P에 대해서 거리두기를 만족하는지 확인한다. BFS 이용하기! 문제풀이 1. 대기실의 모든 자리를 탐색하면서 'P'를 찾는다. 2. BFS를 돌리며 맨해튼 거리 2 이내에 P가 또 있는지 확인한다. 2 2 1 2 2 1 P 1 2 2 1 2 2 거리두기를 지키기 위해 1번 자리에 와도 되는 것은 'O'나 'X'이다. 1번 자리에 'P'가 온다면 ? false 1번 자리에 'X'가 온다면? 막혀있는 것이므로 2번 자리에 무엇이 와도 상관 없음 →.. 2024. 2. 28. [Bronze_IV] 백준 - 2480. 주사위 세개 : Java 2480번: 주사위 세개1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개만www.acmicpc.net 이해하기같은 눈이 3개가 나오면 10,000원 + (같은 눈) x 1,000원a == b && a == c같은 눈이 2개만 나오는 경우에는 1,000원 + (같은 눈) x 100원a == b && a != ca == c && a != bb == c && b != a모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈) x 100원else 문 내 max 찾기 문제 풀이import java.io.BufferedReader;import java.io... 2024. 2. 21. [Bronze_III] 백준 - 2884. 알람 시계 : Java 2884번: 알람 시계상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만,www.acmicpc.net 이해하기주어진 시, 분에서 45분을 뺀 시, 분을 출력H시 M분이 주어졌을 때M이 45보다 작은 경우H -= 1만약 계산 결과 H가 0보다 작다면 H = 23또는 H + 24여기서는 45분을 빼는거라 H에서 1 이상을 뺄 경우가 없으니 H = 23으로 풀이M = M + 60 - 45M이 45보다 크거나 같은 경우H는 그대로M -= 45 문제풀이import java.util.Scanner;public class Main { public static void main(.. 2024. 2. 21. [Silver_II] 백준 - 11725. 트리의 부모 찾기 : Java 11725번: 트리의 부모 찾기루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오.www.acmicpc.net 이해하기root 노드는 항상 1첫째 줄의 수는 노드의 총 개수 (root 노드 포함)1 6 과 같은 형식의 입력은 1번 노드와 6번 노드가 연결되어 있음을 의미 우리가 출력해야 하는 부분은 2~7번 노드 각각의 부모 노드들이다! 문제풀이사실 이 문제는 잡고 고민하다가 도저히 길이 보이지 않아 다른 분들의 코드를 참고하며 풀었다.알고리즘 수업을 분명 들었는데도 기억이 안 나는 magic... 내 머리 속의 지우개다.DFS, BFS 복습을 해야겠다!! 루트 노드 1 방문1의 인접한 노드는 4와 61이 루트 노드이기 때문에.. 2024. 2. 2. [Gold III] 백준 - 2830. 행성 X3 : Java 2830번: 행성 X3상근이는 초등학교 졸업 여행으로 외계 행성 X3에 방문했었다. 이 행성에 사는 사람들의 이름은 모두 자연수이다. 행성의 거주민은 모두 서로를 알고 있다. 두 X3인은 그들의 친밀도를 자신의 이www.acmicpc.net 이해하기사람들의 이름은 모두 자연수친밀도 = 이름을 이진수로 바꾸어 XOR 연산행성의 가치 = 이 섬에 있는 모든 친밀도의 합여기까지만 생각했을 때는, '사람들의 이름을 배열로 받아와서 for문을 이용하여 모두의 친밀도를 계산한 후 총합을 리턴해야겠다!'라고 생각했다. 그치만 그 방법으로는 절대 안 풀리더라...😢 문제에 나와있듯 1 그래서 결국 다른 분들의 풀이를 참고하여 해결하였다. 각 비트마다 0과 1이 나오는 횟수를 알고 있다고 한다면, 각 비트의 개수.. 2024. 1. 28. 이전 1 ··· 18 19 20 21 22 23 24 ··· 26 다음