스터디/ALGORITHM(10)
-
지뢰찾기
지뢰찾기 1966번 지뢰찾기 문제 설명 다들 windows에서 지원하는 지뢰 찾기 게임을 한번쯤은 해 보았을 것이다. 특히 동호는 지뢰찾기의 매니아로 알려져 있다. 지뢰 찾기 map은 N*N의 정사각형 모양으로 각 칸에는 숫자가 들어가 있거나 지뢰가 들어가 있다. 빈 칸에는 숫자 0이 들어있다고 생각하자. map의 어떤 칸에 적혀 있는 숫자는, 그 칸과 인접해 있는 여덟 개의 칸 중에서 지뢰가 들어 있는 칸이 몇 개인지를 나타내 준다. 물론 인접한 칸이 map 내부에 있는 경우에 대해서만 생각하면 된다. 예제를 보면 더 잘 이해할 수 있을 것이다. 이번 문제는 조금 업그레이드 된 지뢰 찾기로, 한 칸에 한 개의 지뢰가 있는 것이 아니고, 한 칸에 여러 개(1 이상 9 이하)의 지뢰가 묻혀 있는 게임이다...
2023.04.13 -
3진법 뒤집기
3진법 뒤집기 코딩테스트 연습 > 월간 코드 챌린지 시즌1 > 3진법 뒤집기 문제 설명 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수입니다. 문제 풀이 function solution(n) { let tenrnaryNum = n.toString(3) let reverseTenrnary = [...tenrnaryNum].reverse().join('') let decimalNum = parseInt(reverseTenrnary, 3) return decimalNum } 코드 리뷰 다른 풀이 function solution(n) ..
2023.04.11 -
이상한 문자 만들기
이상한 문자 만들기 코딩테스트 연습 > 연습문제 > 이상한 문자 만들기 문제 설명 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. 제한사항 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다. 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다. 문제 풀이 function solution(string) { var answer = '' var wordArr = string.split(' ') // 단어 배열 let returnString = [] wordAr..
2023.04.11 -
수박수박수박수박수박수?
수박수박수박수박수박수? 코딩테스트 연습 > 연습문제 > 수박수박수박수박수박수? 문제 설명 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한사항 n은 길이 10,000이하인 자연수입니다 문제 풀이 function solution(n) { let cnt = Math.floor(n/2) // 반복되어야 하는 횟수 let str ='수박'.repeat(cnt) // 반복 if(n%2 !== 0){ // 홀수라면 '수' 가 한번더 붙어야한다. // 길이 4 이면 수박수박 // 길이 5 이면 수박수박수 str = '수박'.repeat(cnt) +'수' } r..
2023.04.11 -
문자열 다루기 기본
문자열 다루기 기본 코딩테스트 연습 > 연습문제 > 문자열 다루기 기본 문제 설명 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. 제한사항 s는 길이 1 이상, 길이 8 이하인 문자열입니다. s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다. 입출력 예 s return a123 false 1234 true 문제 풀이 function solution(s) { // 길이 확인 (4또는 6) // 전부 숫자인지 확인 (나누었을때 NaN이 나오면 숫자가 아님, NaN은 Falsy한 값) isNaN 숫자면 false 숫자가 아니면 tru..
2023.04.11 -
나누어 떨어지는 숫자 배열
나누어 떨어지는 숫자 배열 코딩테스트 연습 > 연습문제 > 나누어 떨어지는 숫자 배열 문제 설명 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. 제한사항 arr은 자연수를 담은 배열입니다. 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다. divisor는 자연수입니다. array는 길이 1 이상인 배열입니다. 입출력 예 arr divisor return [5, 9, 7, 10] 5 [5, 10] [3, 2, 6] 10 [-1] arr의 원소 중 5로 나누어 떨어지는 원소는 5와 10입니다...
2023.04.11