본문 바로가기

분류 전체보기

(388)
< BFS > 2206번 벽 부수고 이동하기 with 파이썬 문제 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로로 이동하려 한다. 최단경로는 맵에서 가장 적은 개수의 칸을 지나는 경로를 말하는데, 이때 시작하는 칸과 끝나는 칸도 포함해서 센다. 만약에 이동하는 도중에 한 개의 벽을 부수고 이동하는 것이 좀 더 경로가 짧아진다면, 벽을 한 개 까지 부수고 이동하여도 된다. 한 칸에서 이동할 수 있는 칸은 상하좌우로 인접한 칸이다. 맵이 주어졌을 때, 최단 경로를 구해 내는 프로그램을 작성하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 1,000)이 주어진다. 다음 N개의 줄에 ..
<노드JS> http 서버 만들기 1. http 서버 만들기 * 포트 연결 - http 요청에 응답하는 노드 서버를 만들어 보자. const http = require('http'); http.createServer((req, res) => { // 응답 내용 }); - 위와 같이 http를 불러와서 createServer로 서버를 만들 수 있다. - res로 응답을 보내는데 write로 응답내용을 적고, end로 끝을 낸다. // server1.js const http = require('http'); const server = http.createServer((req, res) => { res.writeHead(200, { 'content-Type': 'text/html; charset=utf-8' }); res.write('Hell..
<파이어베이스> 파일 업로드 1. 초기 셋팅 * 콘솔 - 파이어베이스 콘솔에서 storage를 시작하자. - 아래와 같이 파일을 저장하는 버킷이 생성되면 끝이다. * 코드 - 셋팅을 위해 만들어 둔 fbase.js 파일에 storage를 추가한다. // fbase.js // ... import "firebase/storage" const firebaseConfig = { // ... }; firebase.initializeApp(firebaseConfig); // ... export const storageService = firebase.storage(); - firebase.storage() 를 storageService라는 변수로 export 해주었다. 2. 첨부 * 파일 첨부 - 위처럼 파일선택을 하고, 파일명을 띄우고, 미..
<후기> 부스트캠프 6기 2차 코딩테스트 합격 후기 (feat. 최종 합격) 0. 소개 부스트 캠프는 네이버 커넥트 재단에서 운영하는 코딩 부트캠프 과정으로써, 1차 코딩테스트를 통과한 사람들을 대상으로 2차 코딩테스트를 치룬다. 웹모바일 6기 기준으로 면접이 없기 때문에 사실상 마지막 전형이다. 서류부터 포트폴리오까지 코딩테스트 결과와 더불어 종합적으로 판단하여 최종 합격자를 선별하는 것으로 보인다. 합격된 인원은 1개월간의 챌린지 과정을 참여하게 된다. 이후 선별된 인원들은 최종적으로 4개월 간의 멤버십과정에 참여할 수 있다. 1. 일정 2021년 7월 3일 2. 문항 수 3문항 (160분) 3. 난이도 프로그래머스 기준 : Lv1, Lv1, Lv2 백준 기준 : S2, S2, S1 (주관적인 기준입니다.) 4. 후기 1차 테스트때와는 달리 실시간 감시가 있었다. 이는 네이버..
< DFS > 13023번 ABCDE with 파이썬 문제 BOJ 알고리즘 캠프에는 총 N명이 참가하고 있다. 사람들은 0번부터 N-1번으로 번호가 매겨져 있고, 일부 사람들은 친구이다. 오늘은 다음과 같은 친구 관계를 가진 사람 A, B, C, D, E가 존재하는지 구해보려고 한다. A는 B와 친구다. B는 C와 친구다. C는 D와 친구다. D는 E와 친구다. 위와 같은 친구 관계가 존재하는지 안하는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 사람의 수 N (5 ≤ N ≤ 2000)과 친구 관계의 수 M (1 ≤ M ≤ 2000)이 주어진다. 둘째 줄부터 M개의 줄에는 정수 a와 b가 주어지며, a와 b가 친구라는 뜻이다. (0 ≤ a, b ≤ N-1, a ≠ b) 같은 친구 관계가 두 번 이상 주어지는 경우는 없다. 출력 문제의 조건에 맞는 A, ..
<스택> 9935번 문자열 폭발 with 파이썬 문제 상근이는 문자열에 폭발 문자열을 심어 놓았다. 폭발 문자열이 폭발하면 그 문자는 문자열에서 사라지며, 남은 문자열은 합쳐지게 된다. 폭발은 다음과 같은 과정으로 진행된다. 문자열이 폭발 문자열을 포함하고 있는 경우에, 모든 폭발 문자열이 폭발하게 된다. 남은 문자열을 순서대로 이어 붙여 새로운 문자열을 만든다. 새로 생긴 문자열에 폭발 문자열이 포함되어 있을 수도 있다. 폭발은 폭발 문자열이 문자열에 없을 때까지 계속된다. 상근이는 모든 폭발이 끝난 후에 어떤 문자열이 남는지 구해보려고 한다. 남아있는 문자가 없는 경우가 있다. 이때는 "FRULA"를 출력한다. 폭발 문자열은 같은 문자를 두 개 이상 포함하지 않는다. 입력 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,00..
<노드JS> 노드 내장 모듈 1. os & path * os - 운영체제의 정보를 담고 있다. const os = require('os'); console.log(os.arch()); // x64 console.log(os.platform()); // win32 console.log(os.type()); // Windows_NT console.log(os.cpus()); // [ // { // model: 'Intel....', // speed: 9999, // // ... // }, // {//...}, // {//...}, // {//...}, // ] console.log(os.freemem()); // 123456789 console.log(os.totalmem()); // 1234567890 - os.arch() : prc..
<후기> 부스트캠프 6기 1차 코딩테스트 합격 후기 (feat. 자소서) 0. 소개 네이버 부스트캠프는 네이버 커넥트 재단에서 운영하는 코딩 부트캠프이다. 매년 1기수씩 모집하고 있으며 AI 부문은 2기, 웹모바일 부문은 6기를 모집하였다.(2021년 기준) 부스트캠프 웹모바일은 1개월간의 챌린지 과정과 4개월간의 멤버십과정으로 나뉜다. 챌린지 과정에서 통과한 사람들만 멤버십 과정으로 넘어갈 수 있다는 단점이 있지만 과정의 모든 비용은 무료라는 큰 장점이 있다. 그 뿐만 아니라 채용연계 기회도 얻을 수 있다. 5기 기준으로 채용연계혜택을 62%가 받았으며 그중 네이버, 카카오, 라인 계열로 연계된 인원은 53%이다. 그렇다보니 경쟁률이 만만치 않다. 5기 기준으로 약 9:1이었으며, 매년 오르는 추세라고 했으므로 올해는 10:1을 거뜬히 넘겼으리라 예상된다. 1. 일정 202..
< BFS > 1697번 숨바꼭질 with 파이썬 문제 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 구하는 프로그램을 작성하시오. 입력 첫 번째 줄에 수빈이가 있는 위치 N과 동생이 있는 위치 K가 주어진다. N과 K는 정수이다. 출력 수빈이가 동생을 찾는 가장 빠른 시간을 출력한다. 정답비율 24.964% 알고리즘 분류 #그래프이론 #그래프탐색 #너비..
<노드JS> 노드 내장 객체 1. 전역객체, console객체, 타이머 * global - 노드의 전역 객체를 의미하며, 브라우저의 window같은 역할이다. 그러나 document는 존재하지 않는다. - window와 같이 생략이 가능하다. (ex. console) - 최근에는 브라우저와의 호환을 위해서 globalThis로 통일되어 사용할 수 있다.(익스플로러에서는 동작X) - global 속성에 값을 대입하면 다른 파일에서도 사용이 가능하지만 관리가 힘들어지므로 권장하지 않는다. * console - 브라우저의 console과 거의 같다. - console.log : 로그 - console.time, console.timeEnd : 시간 로깅 - console.error : 에러로깅 * 타이머 메서드 - 브라우저의 시간과 관련..