본문 바로가기
[BoostCamp] 2022 부스트캠프 7기 챌린지 후기 - 무엇을 배웠는가. 서문. 부스트캠프 챌린지 결과 발표 이후 일주일이 지났습니다. 계속 후기를 쓰려고 하였지만 한 달간의 제 감정과 생각들을 모두 정리할 수 없어 미루고 미루다 더 늦어지기 전에 끄적여 봅니다. 제가 부스트캠프를 하면서 무엇을 느끼고 깨달았는지 하나하나 적어내 보려 합니다. 실무는 답이 존재하지 않는다. OT나 챌린지 기간 초기에 마스터님이 부캠은 야생이라 표현하셨습니다. 야생에서는 정해진 길만 갈 수 없고 살기 위해선 우리가 우리의 길을 찾아야만 한다며. 그리고 이와 더불어 부캠에서는 공부를 잘하려고 하지 말고 회사에서 해야 되는 일이라고 생각하는 것이 편할 것이라고 말씀하셨습니다. 처음에는 이게 무슨 뜻인지 쉬이 알아들을 수 없었지만 점점 주차를 거듭하면서 깨닫게 되었습니다. 과제들을 구현함에 있어 지시.. 2022. 9. 1.
[BoostCamp] 2022 부스트캠프 1,2차 코딩테스트 합격 후기 지원동기 처음 코딩을 배운 것도 웹에 관심이 있어서 코딩을 시작했습니다. 김종민님의 작업물을 보며 그리고 제가 만든 프로그램이 웹 위에서 동작하는 것을 보며 꿈을 키워나갔습니다. 그러던 중 평소 자주 사용하는 네이버에서 교육받을 수 있는 기회가 있다고 하여 지원하게 되었습니다. 처음에는 '코딩테스트 체험이라도 해보자'라는 생각으로 지원하였는데 준비하는 동안 나름대로 열심히 해보고 싶어 자기소개서와 문제풀이를 열심히 준비했습니다. 그 과정에서 이 블로그도 제가 문제들을 정리하고자 만들게 되었습니다. 제 소개를 잠깐 하자면.... 저는 전공자가 아니지만 프로그래밍이 관심이 있어 학과 공부와 함께 코드 공부를 하였습니다. 무작정 클론하기도 하고 멋있어 보이는 웹페이지들을 뜯어보고 닥치는대로 만들었던 것 같네요.. 2022. 7. 15.
[JS] 백준 10814번 나이순 정렬 문제 링크 https://www.acmicpc.net/problem/10814 풀이 전략 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 작성하시오. => stable하게 정렬해야 한다. => 대표적인 stable sort 알고리즘인 counting sort(계수정렬)을 이용하였습니다. 코드 const fs = require("fs"); const input = fs.readFileSync("/dev/stdin").toString().trim().split("\n"); // counting sort. const n = input.shift(); solution(input.. 2022. 7. 12.
[JS] 백준 1300번 K번째 수 문제 링크 https://www.acmicpc.net/problem/1300 풀이 전략 B를 오름차순 정렬했을 때, B[k]를 구해보자. 배열 A와 B의 인덱스는 1부터 시작한다. 코드 const fs = require("fs"); const [n, k] = fs .readFileSync("/dev/stdin") .toString() .trim() .split(/\s/) .map(Number); solution(n, k); function solution(n, k) { let lt = 1; let rt = n * n; // k의 최대값은 n * n이기 때문에 rt는 n * n while (lt = k) rt = mid - 1; // 순서를 확인하여 k보다 크거나 같다면 rt를 mid보다 작게한 else .. 2022. 7. 8.
[JS] 백준 2110번 공유기 설치 문제 링크 https://www.acmicpc.net/problem/2110 풀이 전략 C개의 공유기를 N개의 집에 적당히 설치해서, 가장 인접한 두 공유기 사이의 거리를 최대로 하는 프로그램을 작성하시오. 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 나타내는 xi (0 ≤ xi ≤ 1,000,000,000)가 한 줄에 하나씩 주어진다. 코드 const fs = require("fs"); const input = fs .readFileSync("/dev/stdin") .toString() .trim() .split(/\s/) .map(Number); const n =.. 2022. 7. 6.
[JS] 2019카카오 : 실패율 프로그래머스 LEVEL1 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42889 풀이 전략 실패율은 다음과 같이 정의한다. - 스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 수 / 스테이지에 도달한 플레이어 수 실패율이 높은 스테이지부터 내림차순으로 스테이지의 번호가 담겨있는 배열을 return 하도록 solution 함수를 완성하라. tages에는 1 이상 N + 1 이하의 자연수가 담겨있다. - 각 자연수는 사용자가 현재 도전 중인 스테이지의 번호를 나타낸다. - 단, N + 1 은 마지막 스테이지(N 번째 스테이지) 까지 클리어 한 사용자를 나타낸다. 코드 function solution(N, stages) { const answer = []; const ar.. 2022. 6. 30.
[42Seoul] 42서울 라 피신 후기. 7기 1차로 라 피신을 진행하였습니다. 개인적인 소감과 소소한 팁을 적어보려고 합니다. 전체적인 소감. 많은 분들이 말씀하시듯이 한 달 동안 많은 것을 얻어갈 수 있었던 기간이었습니다. 개인적인 의견으로는 전공자이시든 비전공자이시든 개발에 관심이 있으시고 기회가 되신다면 한 번쯤은 참여해보시는 것이 좋다고 생각합니다. 장점 개발에 관심이 있는 사람들을 만날 수 있습니다. 인생에서 손에 꼽을 정도로 치열한 한 달을 살 수 있습니다. (혼자가 아닌 함께 헤쳐나가기 때문에 가능한 일인 것 같습니다) 서로 돕고 도움을 받는 협력의 장점을 절실히 느낄 수 있습니다. 위의 이점들을 차치하고서라도 주 40시간만 나온다면 한 달에 92만 원을 타가실 수 있습니다. 소소한 팁 이렇듯 장점이 많은 라피신이지만 뛰어드시기 .. 2022. 6. 28.
[JS] 2020카카오 : 키패드 누르기 프로그래머스 LEVEL1 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/67256 풀이 전략 엄지손가락은 상하좌우 4가지 방향으로만 이동할 수 있으며 키패드 이동 한 칸은 거리로 1에 해당합니다. 왼쪽 열의 3개의 숫자 1, 4, 7을 입력할 때는 왼손 엄지손가락을 사용합니다. 오른쪽 열의 3개의 숫자 3, 6, 9를 입력할 때는 오른손 엄지손가락을 사용합니다. 가운데 열의 4개의 숫자 2, 5, 8, 0을 입력할 때는 두 엄지손가락의 현재 키패드의 위치에서 더 가까운 엄지손가락을 사용합니다.4-1. 만약 두 엄지손가락의 거리가 같다면, 오른손잡이는 오른손 엄지손가락, 왼손잡이는 왼손 엄지손가락을 사용합니다. 코드 const keypad = [ ["1", "2", "3"],.. 2022. 6. 26.
[JS] 2021Dev-Matching : 로또의 최고 순위와 최저 순위 프로그래머스 LEVEL1 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/77484 풀이 전략 순서와 상관없이, 구매한 로또에 당첨 번호와 일치하는 번호가 있으면 맞힌 걸로 인정됩니다. 코드 function solution(lottos, win_nums) { var answer = []; let zero = 0; let correct = 0; for(const num of lottos){ if(num === 0) zero++; for(const win of win_nums){ if(num === win) correct++; } } let best = 7 - (zero+correct); let worst = 7 - correct; if(best >= 7) best = 6 if(.. 2022. 6. 24.