코딩테스트(46)
-
[JS] 표 편집 - 양방향 연결리스트(Linked List)를 사용해보자!
안녕하세요. 또 어려운 문제가 왔습니다... 이번엔 연결리스트에 관한 문제입니다. 특히 삭제나 삽입에 대해서 알아볼 수 있는 좋은 기회입니당.. 자 같이 한 번 볼까요? (그리고 이 문제 js로 구현하신 블로거 분들이 다 한 코드를 보고 복사하신건지 다 코드가 똑같더라구요..) 문제 요약 업무용 소프트웨어를 개발하는 니니즈웍스의 인턴인 앙몬드는 명령어 기반으로 표의 행을 선택, 삭제, 복구하는 프로그램을 작성하는 과제를 맡았습니다. 세부 요구 사항은 다음과 같습니다 위 그림에서 파란색으로 칠해진 칸은 현재 선택된 행을 나타냅니다. 단, 한 번에 한 행만 선택할 수 있으며, 표의 범위(0행 ~ 마지막 행)를 벗어날 수 없습니다. 이때, 다음과 같은 명령어를 이용하여 표를 편집합니다. "U X": 현재 선택..
2022.08.18 -
[JS] 셔틀버스 - 시간을 비교할땐 항상 조심하자!
2018년 카카오 채용에 있었던 문제입니다.문제도 뭔가 요즘처럼 복잡하지도 않고 직관적입니다.다만, 케이스 분류할 때 조심해야할 점들이 몇몇 가지 있어서 같이 이야기해보면 좋을 것 같습니다.자 같이 볼까요? 문제 요약 카카오에서는 무료 셔틀버스를 운행하기 때문에 판교역에서 편하게 사무실로 올 수 있다. 카카오의 직원은 서로를 '크루'라고 부르는데, 아침마다 많은 크루들이 이 셔틀을 이용하여 출근한다. 이 문제에서는 편의를 위해 셔틀은 다음과 같은 규칙으로 운행한다고 가정하자. 셔틀은 09:00부터 총 n회 t분 간격으로 역에 도착하며, 하나의 셔틀에는 최대 m명의 승객이 탈 수 있다. 셔틀은 도착했을 때 도착한 순간에 대기열에 선 크루까지 포함해서 대기 순서대로 태우고 바로 출발한다. 예를 들어 09:0..
2022.08.16 -
[JS] 자물쇠와 열쇠 - 디버깅 지옥 멈춰! true/false 멈춰!
이 문제 진짜 개애애빡치는게 뭐 결과가 true/false 두 개여가지고 어디서 문제 있는건지 알 수도 없고.. 결국엔 질문 게시판에 계신 현자분의 아이디어를 쓱싹해서 완성했네용진짜 지옥의 백트래킹입니다.같이 한 번 볼까요? 문제 요약 잠겨있는 자물쇠는 격자 한 칸의 크기가 1 x 1인 N x N 크기의 정사각 격자 형태이고 특이한 모양의 열쇠는 M x M 크기인 정사각 격자 형태로 되어 있습니다. 자물쇠에는 홈이 파여 있고 열쇠 또한 홈과 돌기 부분이 있습니다. 열쇠는 회전과 이동이 가능하며 열쇠의 돌기 부분을 자물쇠의 홈 부분에 딱 맞게 채우면 자물쇠가 열리게 되는 구조입니다. 자물쇠 영역을 벗어난 부분에 있는 열쇠의 홈과 돌기는 자물쇠를 여는 데 영향을 주지 않지만, 자물쇠 영역 내에서는 열쇠의 돌..
2022.08.10 -
배열을 90도 회전시키는 방법
올해 4월이었나 카카오 인턴 코테를 아무 준비 없이 경험삼아서 본 적이 있습니다. 근데 이제 거기서 나왔던 문제가 N X N 배열을 조금씩 회전하는 게 5번문제였던 기억이 납니다. ([0][0] => [0][1] / [1][0] => [0][0] 이런 느낌의 회전이었어요ㅠㅠ) 가운데 중점 기준으로 교차하는 직선 두개 그리면서 규칙성 찾다가 하지도 못하고 끝났었는데요. 갑자기 ptsd 오네요. 이 회사 코테는 참 배열 회전하는걸 좋아하나봐요. 2020년에도 2021년에도 배열 90도 회전하는 문제가 나왔었습니다. 이젠 뭐 90도는 다 잘한다고 생각해서 이런걸 내는건지.. 불평하면 달라질까요? 신입이면 하라면 해야죠! 일단 차근차근 90도 회전부터 다뤄보죠! 90도 회전은 그나마 합리적입니다. 몇 가지 규칙..
2022.08.09 -
[JS] 다단계 칫솔 판매
이 문제 출처가 카카오가 의심되네용 진짜 국어지문 푸는줄.. 생각보다 쉬워서 다들 잘 푸셨을 것 같습니당 자 같이 한번 볼까요? 문제 요약 다단계 구조의 수익 현황을 알고 싶은 민호입니다. 이 회사는 얻은 수익의 10%를 자신을 추천해준 부모노드에게 보냅니다. 자신은 판매액의 90%를 수익으로 삼습니다. 이때 전체 수익을 return해주세요. 예를 들어, young이 1,200원의 수익을 올렸다고 가정합시다. 자신은 1,200원의 90%인 1,080원을 자신 몫으로 가져갑니다. 나머지 10%는 자신의 추천인인 edward에게로 갑니다. 이 10% 수익 역시 수익으로 잡히기 때문에 108원의 10%가 edward의 추천인인 mary에게 갑니다. 만약 수익이 10원 미만라면 자신이 모든 수익을 가집니다. 주..
2022.08.08 -
[JS] 순위 - 권투 선수 왜싸워요... 싸움 멈춰 제발
아니 왜 경기 결과 잃어버리고 난리임? 일단 이 문제는 레벨 3 문제 답게 풀이를 위해선 약간의 아이디어가 필요합니다. 그리고 효율적으로 풀 수 있는 약간의 아이디어도 필요하죠. 아무튼 같이 한 번 보죠! 문제 요약 n명의 권투선수가 권투 대회에 참여했고 각각 1번부터 n번까지 번호를 받았습니다. 권투 경기는 1대1 방식으로 진행이 되고, 만약 A 선수가 B 선수보다 실력이 좋다면 A 선수는 B 선수를 항상 이깁니다. 심판은 주어진 경기 결과를 가지고 선수들의 순위를 매기려 합니다. 하지만 몇몇 경기 결과를 분실하여 정확하게 순위를 매길 수 없습니다. 선수의 수 n, 경기 결과를 담은 2차원 배열 results가 매개변수로 주어질 때 정확하게 순위를 매길 수 있는 선수의 수를 return 하도록 solu..
2022.08.05