본문 바로가기

코딩 테스트 공부

(9)
2024 하반기 코딩테스트 결산 2025년이 밝고, 여전히 열심히 취준중인 나.다니던 회사를 그만둔 뒤, 빠르게 일자리를 찾아보고자 여러 회사에 지원했고, 그중 코딩테스트를 봤던 회사들의 난이도와 유형(기억나는대로)을 적어보고자 한다.혹시나 내가 코테를 봤던 회사에 지원하고자 하는 사람이 있다면 도움이 되길 바라며,.,.!! 1. 레브잇 (2024.08)문제 : 총 3문제플랫폼 : 프로그래머스체감 난이도 : 중하풀이 : 3/3코딩테스트 결과 :  합격최종 결과 : 과제 테스트 불합격그렇게 어렵지도, 그렇다고 막 쉽지도 않은 난이도였다.가물가물한데, 구현 3문제였던 것 같고마지막 문제는 지그재그 행렬 문제였던 것 같다.무난하게 3솔로 통과했으나 과제 전형에서 멸망2. 버즈빌 (2024.09)문제: 총 3~4문제플랫폼 : 해커랭크체감 난이..
백준 자바스크립트(Node.js)를 쉽게 입력하는 방법을 탐구하다 코딩테스트 연습을 하려면 백준에서 문제를 푸는 것은 필수 코스이다만은백준은 프로그래머스처럼 자바스크립트 자체 지원이 안된다.자바스크립트를 쓰고 싶으면 node.js를 선택해야 하는데,아마 백준에서 node.js를 쓰려면 굉장히 복잡한 과정을 거쳐야 하기에 포기한 사람들이 많을 것이라 생각된다.물론 나도 그랬고,.,.,.., 여튼 최근 node.js를 사용하는 방법을 깨달아서, 어려움을 겪는 사람이 있다면 참고해 보자.1. 입력 템플릿const readline = require('readline');const rl = readline.createInterface({ input: process.stdin, output: process.stdout,});// 1. 여기에 전역으로 쓰일 변수를 선언한다rl...
구현 구현이란? 헷필드는 ENTP, 언쟁을 좋아하는 달변가이다. 하지만 이런 헷필드에게는 아주 큰 약점이 있었으니... 바로 당황하면 머릿속이 하얘진다는 것! 어느날, 헷필드는 학교를 대표하여 토론대회에 나가게 되었다. 상대는 영혼의 라이벌 머스테인! 헷필드는 늘 머스테인을 상대로 이겼었던지라 대본 따위는 전혀 준비하지 않았고, 마침내 토론대회 날이 밝았다. 언제나 그랬듯 머스테인을 조목조목 두드려 패며 승기가 헷필드 쪽으로 기운 상황. 갑자기 머스테인이 헷필드가 예상했던 범위 바깥의 반박을 시전하였다!! 당황한 헷필드... 물론 똑똑한 헷필드는 바로 논점을 간파하고 반박의 반박을 준비하는데.. 이미 한번 하얘진 머릿속은 제대로 돌아가지 않았다. 무슨 말을 해야 할지는 알겠는데, 어떻게 말해야 할지 전혀 정리..
그리디 알고리즘(탐욕법) 그리디 알고리즘이란? 욕심쟁이 플랜트와 착한 페이지는 치킨메이트이다. 늘 둘이 함께 다니며, 이 건실하고 재능있는 청년들은 1인 1닭 정도는 가뿐히 처리할 수 있다. 오늘도 어김없이 치킨을 먹으러 간 플랜트와 페이지. 둘은 언제나 그랬듯 플랜트가 가장 좋아하는 양념치킨과 페이지가 좋아하는 파닭을 시켰다. 하지만 가는날이 장날이라고, 하필 튀김기 1대가 망가져 오늘은 치킨이 한마리씩 나온다고 한다. 어쩔 수 없지, 두 청년은 시원한 맥주를 시켜놓고, 먼저 나온 파닭을 먹기 시작했다. 그런데 아뿔싸! 늘 두마리를 나눠먹다가 한마리를 먹으니 욕심쟁이 플랜트의 본성이 드러나고야 말았다. 두 다리를 허겁지겁 먹어 치우더니 급기야 날개, 가슴살, 심지어 야들야들한 허벅지살까지!! 혼자 낼름 먹어치워버린 것이다 !!..
알고리즘과 자료구조 공부 시작. 에브리타임에서 나동빈 선생님이 쓰신 '이것이 코딩 테스트다'라는 책을 추천받아 책을 구매했다. 프로그래머스 lv0, lv1 문제를 풀면서 여러 알고리즘과 자료구조 문제가 나왔는데, 사실상 억지로 풀었던 것에 불과했기에 이참에 제대로 공부해보고자 오랜만에 책을 사게 되었다. 학교에서도 복수전공을 하며 졸업 필수 과목을 듣느라 알고리즘 대신 다룰 일도 없는 유니티 강의를 들어야 했고, 자료구조 대신 해본적도 없는 2D 그래픽스 세상에서 헤매야 했다.... 심지어 4학년이 되자 필수 과목이 사라져 모두 의미없는 시간이 되어버린 그저 해피엔딩.... 여튼, 졸업생 선배들에게 조언을 구할때도 가장 걱정하셨던 부분이 바로 CS과목의 부재였다. 뭐...복수전공 한 과가 컴퓨터공학과가 아닌 '멀티미디어공학'과다 보니 ..
splice() splice() 이름 종류 기능 매개변수 splice() 함수 배열 내용 변경 정수, 문자, 배열 splice는 배열의 요소를 건드려 배열의 내용을 바꾸는 함수이다. 배열 요소 추가, 변경 및 삭제가 가능하며, 각 기능을 따로, 또 동시에 사용할 수 있다. 매개변수로는 정수, 문자, 배열을 모두 사용할 수 있고, 리턴 형태는 배열. splice(시작 인덱스, 삭제할 인덱스 수, 추가할 요소1, 추가할 요소2, ....) 주의할 점은 매개변수의 맨 처음 2개는 반드시 정수여야 한다는 것이다. 이는 splice()가 매개변수로 받는 인자의 역할 때문인데, splice() 함수는 배열의 요소 추가 및 삭제가 가능하기 때문에 추가할 인덱스와 삭제하는 인덱스를 모두 기재해 주어야 하기 때문이다. 시작 인덱스 : ..
slice(), push() slice() 이름 종류 기능 매개변수 slice() 함수 문자열, 배열 자르기 정수, 변수(int) slice()는 문자열과 배열을 원하는 길이만큼 잘라 새로운 문자열 또는 배열을 만들 수 있는 함수이다. 매개변수로는 정수와 변수를 사용 가능한데, 변수는 int형만 사용 가능하다. 엄밀히 말하면 원 배열에서 일정 범위의 인덱스들을 복사하여 새로운 문자열이나 배열을 만드는 것인데, 이때문에 sort() 등의 함수와는 다르게 원 배열에는 어떠한 변화도 생기지 않는다. 매개변수는 1개 또는 2개를 사용할 수 있는데, slice(시작 인덱스, 끝 인덱스)이다. 주의할 점은 시작 인덱스 이상 끝 인덱스 미만의 요소들을 복사한다는 것. 0번째부터 5번째 요소까지 복사하고 싶다면 slice(0, 5)가 아닌 (0,..
split(), join() split() 이름 종류 기능 매개변수 split() 함수 문자열 분할 정수, 문자열, 변수 split()은 문자열을 배열로 나누어 주는 함수이다. 매개변수로는 문자열 또는 변수가 들어가며, 문자열을 매개변수로 분할하여 새로운 배열로 만든다. 새 배열을 만드는 과정이기 때문에 변수 선언이 필요하다. 매개변수는 정수와 문자열 모두 들어갈 수 있다. 만약 split()을 하려는 문자열에 숫자가 없다면 정수로 분할되지는 않지만 함수는 실행 되기 때문에 기존에 주어진 문자열이 그대로 출력된다. 정수는 분할하지 못하며, 문자열로 만든 뒤 분할해주어야 한다. 매개변수를 기준으로 분할하기 때문에, 주어진 문자열에 매개변수로 쓰인 문자열이나 정수가 들어있다면 모두 사라지게 된다. 쉽게 말해 매개변수는 ""로 대체되는 ..