본문 바로가기
728x90
반응형

프로그래머스47

[프로그래머스] level 4 가사 검색(자바스크립트) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👨‍💻 문제 정답 코드 답안 1(Map 활용) 답안 2 문제 풀이 트라이(trie) 자료 구조를 활용하여 풀 수 있는 문제이다. 트라이는 '문자열을 찾거나 일치 여부를 판별하는 데' 유용한 자료 구조이다. 트라이는 중첩된 객체 구조로 되어 있다. 트라이의 삽입 메서드를 실행하면 문자열을 순회하며 탐색하는 문자가 root에 존재하지 않을 시 해당 문자를 key로 갖는 객체를 생성한다. 이러한 객체가 줄줄이 달려 트리를 형성하는 것이다. 'kang'과 'kim'이라는 문자열을 입력했을 시 아래와 같은 트라이 자료.. 2023. 1. 30.
[프로그래머스] level 1 실패율(자바스크립트) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👨‍💻 문제 정답 코드 문제 풀이 문제를 풀 때 필요한 값은 분모가 될 '도전자 수', 분자가 될 '아직 클리어 못 한 사람 수', 마지막으로 둘을 나눈 '실패율'이다. 도전자 수는 처음에는 stages의 길이를 대입해뒀다가 for 반복문을 돌면서 매 작업마다 아직 클리어 못 한 사람 수를 누적해서 뺀다. N이 5이고, stages가 [2, 1, 2, 6, 2, 4, 3, 3]이라면 아직 클리어 못 한 사람 수는 다음과 같을 것이다. [1, 2, 2, 2, 3, 3, 4, 6] 총 스테이지 1 ~ 5 1 스테.. 2023. 1. 27.
[프로그래머스] level 3 외벽 점검(자바스크립트) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👨‍💻 문제 정답 코드 답안 1 답안 2 문제 풀이 주어진 입력값의 최대 범위가 작기 때문에 완전 탐색으로 접근 가능하다. 문제에서 찾고자 하는 답은 '투입해야 하는 친구 수의 최솟값'인데 최대 친구 수는 8이므로 모든 친구를 나열하는 순열(permutations)로 풀 수 있다. 친구를 나열하는 모든 경우의 수를 각각 확인하여 친구를 최소 몇 명 배치하면 되는지 계산하면 된다. 다만 문제에서는 취약 지점이 원형으로 구성되어 있다고 되어 있는데 계산을 편리하게 하기 위해 이 원형 배열의 길이를 2배로 늘려 일.. 2023. 1. 24.
[프로그래머스] level 3 블록 이동하기(자바스크립트) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👨‍💻 문제 정답 코드 답안 1 문제 풀이 전형적인 bfs 문제이다. 다만 로봇의 크기가 두 칸이기 때문에 배열을 탐색하면서 두 칸의 좌표를 체크해야 하고, 상하좌우 90도씩 회전이 가능하다는 점에 유의해야 한다. 또한 방문 여부를 체크하기 위해 visited란 배열을 선언하고, 왼쪽 및 오른쪽 좌표를 문자열로 만든 값을 활용한다는 것도 유의점이다. 상하좌우로 회전을 할 수 있는지 여부를 체크할 때 로봇 기준 두 칸의 상하좌우 요소가 0인지 확인하는 작업이 필요하다. bfs 문제를 풀 때 배열 크기를 주어진 .. 2023. 1. 18.
[프로그래머스] level 2 괄호 변환 (자바스크립트) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👨‍💻 문제 정답 코드 답안 1 답안 2 문제 풀이 문제에 제시된 조건을 차근차근 구현하면 되는 문제이다. 매개변수 p의 길이가 0이 되는 순간 재귀를 종료하면 된다. 그 외에 중요한 개념이 있다면 짝이 맞는 괄호인지 찾는 공식이다. 열린 괄호의 개수가 0인 상황에서 닫힌 괄호부터 나온다면 더 따져볼 것도 없이 짝이 맞지 않는 괄호이므로 false를 반환한다. 2023. 1. 17.
[프로그래머스] level 2 문자열 압축(파이썬/자바스크립트) 이번 글은 '이것이 취업을 위한 코딩테스트다' 내의 문제를 풀고 정답 코드를 정리한 것입니다. 이것이 취업을 위한 코딩 테스트다 with 파이썬 | 나동빈 - 교보문고 이것이 취업을 위한 코딩 테스트다 with 파이썬 | IT 취준생이라면 누구나 입사하고 싶은 카카오ㆍ삼성전자ㆍ네이버ㆍ라인! 취업의 성공 열쇠는 알고리즘 인터뷰에 있다!IT 취준생이라면 누구나 product.kyobobook.co.kr 이번 문제는 아래 링크에 접속해서 풀어볼 수 있습니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 정답 코드 파이썬 Ver. 자바스크립트 Ver. 문.. 2022. 12. 13.
[프로그래머스] level 1 체육복(파이썬 python) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42862?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 코드 나의 풀이(오답) def mySolution(n, lost, reserve): uniformCnt = [1] * n for i in reserve: uniformCnt[i - 1] += 1 for i in lost: uniformCnt[i - 1] -= 1 answer = 0 # 현재 탐색값이 맨 앞이거나 맨 뒤일 경우, 그리고 앞뒤 학생을 모두 확인.. 2022. 12. 4.
[프로그래머스] level 4 무지의 먹방 라이브(파이썬/자바스크립트) 이번 글은 '이것이 취업을 위한 코딩테스트다' 내의 문제를 풀고 정답 코드를 정리한 것입니다. 이것이 취업을 위한 코딩 테스트다 with 파이썬 | 나동빈 - 교보문고 이것이 취업을 위한 코딩 테스트다 with 파이썬 | IT 취준생이라면 누구나 입사하고 싶은 카카오ㆍ삼성전자ㆍ네이버ㆍ라인! 취업의 성공 열쇠는 알고리즘 인터뷰에 있다!IT 취준생이라면 누구나 product.kyobobook.co.kr 이번 문제는 아래 링크에 접속해서 풀어볼 수 있습니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 정답 코드 파이썬 Ver. 해답 1 해답 2 자바스.. 2022. 11. 30.
[Programmers] level 1: 최대공약수와 최대공배수 by JavaScript 이번 문제는 아래 포스팅을 참고하여 작성하였습니다. Lulu 님의 포스팅 JavaScript로 최대공약수(GCD), 최소공배수(LCM) 구하기 최대공약수는 두 수 A와 B의 공통된 약수 중에 가장 큰 정수이다.최대공약수를 구하는 가장 쉬운 방법은 2부터 min(A, B)까지 모든 정수로 나누어보는 방법이다.두 수, 혹은 그 이상의 여러 수의 공 velog.io 이번 문제는 유클리드 호제법이나 반복문을 통해 풀 수 있다. 먼저 반복문을 활용하여 최대공약수 및 최소공배수를 구하는 법부터 설명하겠다. 반복문으로 최대공약수를 구하는 가장 쉬운 방법은 2부터 min(n, m)까지 모든 정수로 n과 m을 나눠보는 방식이다. 이렇게 나눴을 때 n과 m 모두 나눠 떨어지는 수가 바로 최대공약수이다. 최소공배수는 whi.. 2022. 7. 10.
728x90
반응형