전체 글(151)
-
역행자(자청) 1단계 자의식 해체 - 후기와 적용점
0. 서론 - 인생에도 (나만 모르는) 공략집이 있다 어린 시절 나는 게임을 정말 잘했다. 비결은 간단했다. 친구들과 새로운 게임을 하고 나면, 나는 집에 가서 웹사이트 게시판에 올라온 공략집을 몰래 읽었다. 친구들은 수백 판 게임만 하지만, 나는 게임 횟수를 늘리기보다는 공략집을 읽는 데 몰두했다. 1~2주 정도 몰래 공부한 뒤에 게임을 해보면 비교가 안 된다. - 자청 세상 모든 것이 그렇듯 인생, 돈, 행복에도 공략집이 존재한다. 혼자서 무식하게 앞만 보고 달리는 게 성공할 확률이 가장 높던 시절도 있었지만, 사람들이 서로 정보와 경험을 공유하는 이 시대에는 더 이상 매뉴얼 없이 혼자서 모든 걸 겪어가면서 배워서 성공하기는 어렵다. 자청은 이러한 서론으로 역행자의 7단계를 소개하고, 이 7단계가 본..
2022.11.03 -
[프로그래머스] 기능개발 문제 풀이(Queue 큐 Lv. 2) - java 자바
0. 자세한 설명은 YouTube 영상으로 1. ArrayList + for 문을 활용한 Solution import java.util.*; class Solution { public int[] solution(int[] progresses, int[] speeds) { List answer = new ArrayList(); for (int i = 0; i < progresses.length; i++) { // 1. 한 개 기능을 개발하는데 필요한 날짜 계산 double days = (100 - progresses[i]) / (double) speeds[i]; int daysUp = (int) Math.ceil(days); // 2. 함께 배포할 기능의 index 찾기 int j = i + 1; for ..
2022.05.24 -
[프로그래머스] 타겟넘버 문제 풀이(DFS BFS 재귀함수 Lv. 2) - java 자바
0. 자세한 설명은 YouTube 영상으로 개발자로 취직하기의 DFS 강의 : https://inf.run/MqJT [자바/Java] 문과생도 이해하는 DFS 알고리즘! - 입문편 - 인프런 | 강의 자바(Java)로 코딩테스트를 준비하시는 DFS로 분들이 가장 많다는 소식을 들어 제작된 강의입니다 :) 문과 출신의 현업 개발자가 공부한 방식 그대로 설명하고, 지루한 이론 강의는 다 직접 문제를 www.inflearn.com 1. DFS(재귀함수)를 활용한 Solution class Solution { int answer; public int solution(int[] numbers, int target) { answer = 0; dfs(0, 0, numbers, target); return answer..
2022.03.30 -
[백준 1018] 체스판 다시 칠하기 (완전탐색) - java 자바
0. 자세한 설명은 YouTube 영상으로 1-1. 완전탐색 Solution import java.util.Scanner; class Main { public static int getSolution(int startRow, int startCol, String[] board) { String[] orgBoard = { "WBWBWBWB", "BWBWBWBW" }; int whiteSol = 0; for (int i = 0; i < 8; i++) { int row = startRow + i; for (int j = 0; j < 8; j++) { int col = startCol + j; if (board[row].charAt(col) != orgBoard[row % 2].charAt(j)) whiteSo..
2022.03.07 -
[2022 카카오 코딩테스트] 신고 결과 받기 - 자바 java (Hash, 해시)
0. 자세한 설명은 YouTube 영상으로 1. Hash를 활용한 solution import java.util.*; class Solution { public int[] solution(String[] id_list, String[] report, int k) { int[] answer = new int[id_list.length]; // 1. 중복 제거 HashSet reportSet = new HashSet(); for (String rep : report) reportSet.add(rep); // 2. report에서 각 사람이 신고당한 횟수를 countHash으로 정의하기 HashMap notifyListHash = new HashMap(); for (String rep : reportSet){..
2022.02.16 -
[2021 카카오 코딩테스트] 키패드 누르기 - 자바 java
0. 자세한 설명은 YouTube 영상으로 1. Class를 활용한 solution class Solution { Position left; Position right; Position numPos; public String solution(int[] numbers, String hand) { String answer = ""; // 1. 왼손 오른손 위치 초기화 left = new Position(3, 0); right = new Position(3, 2); for (int num : numbers) { // 2. 숫자를 누를 손가락 정하기 numPos = new Position((num - 1) / 3, (num - 1) % 3); if (num == 0) numPos = new Position(3,..
2022.01.21