분류 전체보기

    제코베 JS 100제 / 85 / 숫자놀이

    일정한 규칙을 가지고 있는 숫자를 나열하는 놀이를 하는 중입니다. 이전 숫자에서 각 숫자의 개수를 나타내어 숫자로 만들고 다시 그 숫자를 같은 규칙으로 만들며 나열합니다. 이 놀이는 1부터 시작합니다. 다음 수는 1이 1개이기 때문에 '11'이 되고, '11'에서 1이 2개이기 때문에 그다음은 '12'가 됩니다. 즉, 1 -> (1) 11 -> (1이 1개) 12 -> (1이 2개) 1121 -> (1이 1개 2가 1개) 1321 -> (1이 3개 2가 1개) 122131 -> (1이 2개 2가 1개 3이 1개) 132231 -> (1이 3개 2가 2개 3이 1개) 위와 같이 진행되는 규칙을 통해 진행 횟수 N을 입력받으면 해당되는 수를 출력하세요. /** * 이전 숫자에서 각 숫자의 개수를 나타내어 숫..

    제코베 JS 100제 / 84 / 숫자뽑기

    소정이는 어떤 숫자에서 k개의 수를 뽑았을 때 가장 큰 수를 찾는 놀이를 하고 있습니다. 예를 들어, 숫자 1723에서 두 개의 수를 뽑으면 [17, 12, 13, 72, 73, 23]을 만들 수 있습니다. 이 중 가장 큰 수는 73입니다. 위 예시처럼 어떤 수 n에서 k개의 수를 선택하여 만들 수 있는 수 중에서 가장 큰 수를 찾아 주세요. /** * 어떤 수 N에서 K개의 수를 선택하여 만들 수 있는 수 중에서 * * 가장 큰 수를 반환하는 함수 * @param {Number} N * @param {Number} K * @returns {Number} 가장 큰 수 */ function pickNumber(N, K) { return parseInt( N.toString() // 문자열로 변환 .spli..

    제코베 JS 100제 / 83 / 수학 괄호 파싱 2

    수학공식이 제대로 입력이 되었는지 판단하는 코드를 작성하려 합니다. 괄호는 소괄호와 중괄호가 있습니다. 입출력 예시 /** * 소괄호와 중괄호가 있는 수학공식이 제대로 괄호의 짝이 맞는지 반환하는 함수 * @param {String} e 수학공식 * @returns {String} 옳으면 'True', 틀리면 'False' return */ function math(e) { let stack = []; const BUCKET_PAIR = { '(': ')', '{': '}', }; for (el of e) { // BUCKET_PAIR의 key라면, 즉 여는괄호라면 스택에 push if (el in BUCKET_PAIR) stack.push(el); // BUCKET_PAIR의 value라면, 즉 닫는괄..

    제코베 JS 100제 / 82 / 수학 괄호 파싱

    수학공식이 제대로 입력이 되었는지 판단하는 코드를 작성하려 합니다. 괄호는 소괄호밖에 없습니다. /** * 수학공식을 입력받아 괄호가 제대로 입력되었는지 판단하는 함수 * @param {String} e 수학공식 * @returns {String} 옳다면 "True", 아니라면 "False" 리턴 */ function math(e) { let tmp = 0; for (el of e) { if (el === '(') tmp += 1; else if (el === ')') tmp -= 1; if (tmp < 0) return 'False'; } return tmp === 0 ? 'True' : 'False'; } const ex = '5 + 7) * (3 * 5)'; const result = math(ex..

    제코베 JS 100제 / 81 / 지뢰찾기

    지뢰를 찾는 문제입니다. 다음 그림처럼 깃발 주위에는 지뢰가 사방으로 있습니다. 깃발의 위치를 입력받아 지뢰와 함께 출력 해주는 프로그램을 만드세요. 아래 Case 외 예외 사항은 고려하지 않습니다. (예를 들어 깃발이 붙어 있을 경우는 고려하지 않습니다.) 실력이 되시는 분들은 깃발이 붙어있을 상활까지 고려해 주세요. /** * 탐색할 인덱스가 범위를 벗어나지 않는지 확인하는 함수 * * @param {Number} searchX 탐색할 행 * @param {Number} searchY 탐색할 열 * @param {Number} MAX_ROW 최대 행의 수 * @param {Number} MAX_COL 최대 열의 수 * @returns {Boolean} 유효하면 true, 유요하지 않으면 false *..

    제코베 JS 100제 / 80 / 순열과 조합

    조합이란 원소들을 조합하여 만들 수 있는 경우의 수이며 원소의 순서는 신경 쓰지 않습니다. 순열이란 원소의 값이 같더라도 순서가 다르면 서로 다른 원소로 취급하는 선택법입니다. 한글의 자모 24자 중 자음은 총 14개입니다. 이 중 입력받은 자음을 n개를 선택하여 나올 수 있는 모든 조합과, 조합의 수를 출력하고 싶습니다. '한글 맞춤법'의 제 2장 제4항에서는 한글의 기본 자모 24자 "ㄱ(기역), ㄴ(니은), ㄷ(디귿), ㄹ(리을), ㅁ(미음), ㅂ(비읍), ㅅ(시옷), ㅇ(이응), ㅈ(지읒), ㅊ(치읓), ㅋ(키읔), ㅌ(티읕), ㅍ(피읖), ㅎ(히읗), ㅏ(아), ㅑ(야), ㅓ(어), ㅕ(여), ㅗ(오), ㅛ(요), ㅜ(우), ㅠ(유), ㅡ(으), ㅣ(이)"를 제시 나올 수 있는 모든 조합을 아래..