반응형

코딩테스트 52

코딩테스트 주사위 게임 1

코딩테스트 주사위 게임 1 문제 설명 출력 예시 주사위를 두번 굴려 나온 수가 홀수냐에 따라 a,b의 계산법이 달라지는 문제입니다. let a = 3; let b = 5; var answer = 0; let method = 0; if(a % 2 == 1) method++; if(b % 2 == 1) method++; if(method == 2) answer = (a*a + b*b); if(method == 1) answer = 2*(a + b); if(method == 0) answer = Math.abs(a - b); //34 a와 b가 모두 홀수라면 a2 + b2 점을 얻습니다. a와 b 중 하나만 홀수라면 2 × (a + b) 점을 얻습니다. a와 b 모두 홀수가 아니라면 |a - b| 점을 얻습니..

코딩테스트 2023.07.08

코딩테스트 수 조작하기 2

코딩테스트 수 조작하기 2 문제 설명 출력 예시 현재 인덱스와 다음 인덱스의 차를 봐서 그에 맞는 숫자를 출력하는 문제 입니다. "w" : 수에 1을 더한다. "s" : 수에 1을 뺀다. "d" : 수에 10을 더한다. "a" : 수에 10을 뺀다. let numLog = [0, 1, 0, 10, 0, 1, 0, 10, 0, -1, -2, -1]; var answer = ''; numLog.forEach((e,i)=>{ if(numLog[i+1] - e == 1) answer+= "w"; if(numLog[i+1] - e == 10) answer+= "d"; if(numLog[i+1] - e == -1) answer+= "s"; if(numLog[i+1] - e == -10) answer+= "a"; }..

코딩테스트 2023.07.05

코딩테스트 접두사인지 확인하기

코딩테스트 접두사인지 확인하기 문제 설명 출력 예시 어떤 문자열에 대해서 접두사는 특정 인덱스까지의 문자열을 의미합니다. 예를 들어, "banana"의 모든 접두사는 "b", "ba", "ban", "bana", "banan", "banana"입니다. is_prefix 문자열이 my_string의 접두사인지 확인하는 문제입니다. 접두사가 맞다면 1을 출력하고, 아니면 0을 출력합니다. 접두사란? 낱말의 앞에 붙어서 의미를 첨가하여 다른 낱말을 이루는 말. 접사의 일종이다. let my_string = "banana"; let is_prefix = "ban"; let str = ''; var answer = 0; let str = ''; [...my_string].forEach(e=>{ str += e; ..

코딩테스트 2023.07.04

코딩테스트 콜라츠 수열 컨텐츠

코딩테스트 콜라츠 수열 컨텐츠 문제 설명 출력 예시 콜라츠 문제란? 1을 제외한 아무 자연수나 생각한 다음 그게 홀수라면 3을 곱한 다음 1을 더하고, 짝수라면 2로 나눈다. 그렇게 나온 수를 다시 저 식에 집어 넣고 이하 반복, 이걸 계속하다 보면 1이 나온다는 것이다. 예를 들어 5에서 시작하면, 5는 홀수니까 3×5+1=16이 되고, 16은 짝수니까 16/2=8, 이후 4와 2를 거쳐 1에 도달하게 된다. https://namu.wiki/w/%EC%BD%9C%EB%9D%BC%EC%B8%A0%20%EC%B6%94%EC%B8%A1 콜라츠 추측 - 나무위키 만약 이 추측이 거짓이라면, 1로 가지 않는 반례가 존재한다는 것을 의미한다. 수학자들은 이런 대표적인 반례에 대해서 자기 자신으로 순환하는 루프가 ..

코딩테스트 2023.07.03

코딩테스트 글자 이어 붙여 문자열 만들기

코딩테스트 글자 이어 붙여 문자열 만들기 문제 설명 출력 예시 문자열 my_string과 정수가 담긴 index_list 배열이 있습니다. index_list에 있는 요소의 인덱스에 해당하는 my_string 글자를 순서대로 출력하는 문제 입니다. let my_string = "cvsgiorszzzmrpaqpe"; let index_list = [16, 6, 5, 3, 12, 14, 11, 11, 17, 12, 7]; var answer = ''; index_list.forEach(e=>{ answer += my_string[e]; }) //"programmers" forEach 반복문을 이용해서 index_list의 요소 수만큼 반복을 하게 됩니다. index_list 인덱스 번째의 my_string ..

코딩테스트 2023.07.02

코딩테스트 원소들의 곱과 합

코딩테스트 원소들의 곱과 합 문제 설명 출력 예시 모든 원소들의 곱과 모든 원소들의 합의 제곱을 비교하여 제곱이 더 클경우 1을 출력하고 아니면 0을 출력하는 문제입니다. let num_list = [3, 4, 5, 2, 1]; var answer = 0; let multiply = 1; let square = 0; num_list.forEach(e=>{ multiply *= e; square += e; }) square *= square; (multiply > square) ? answer = 0 : answer = 1 // 1 multiply 는 곱하기를 하기 위해 1을 저장했습니다. square 는 더하기를 하기 위해 0을 저장했습니다. num_list를 forEach 반복문을 돌려 각각 변수에 곱..

코딩테스트 2023.06.29

코딩테스트 이어 붙인 수

코딩테스트 이어 붙인 수 문제 설명 출력 예시 짝수와 홀수를 구분하여 나온 순서대로 이어붙여 짝수와 홀수를 더하는 문제입니다. 예를 들어 [3, 4, 5, 2, 1] 배열이 있으면 홀수는 351, 짝수는 42 두 수를 더하면 393이 됩니다. const num_list = [3, 4, 5, 2, 1]; var answer = 0; let even = ''; let odd = ''; num_list.forEach(e=>{ e%2 == 0? even += e.toString() : odd += e.toString(); }) answer = parseInt(even)+parseInt(odd); //393 even(짝수)과 odd(홀수) 변수를 만들어서 문자열로 짝수와 홀수를 넣어줬습니다. 그 뒤 정수로 변환한..

코딩테스트 2023.06.28

코딩테스트 공배수

코딩테스트 공배수 문제 설명 출력 예시 정수 number 배수중에 n과 m정수가 포함되면 1을 출력, 하나라도 아닐시 0을 출력하는 문제입니다. let number = 60; let n = 2; let m = 3; var answer = 0; let arr = []; let check = 0; let i = parseInt(number); while(i > 0){ if(number % i == 0) arr.push(i); i-- } if(arr.includes(n)) check++; if(arr.includes(m)) check++; if(check==2) answer = 1 //1 우선 number의 배수를 구하기 위해 반복문인 while문으로 i에 number수를 할당하여 0이 될때까지 반복해줍니다...

코딩테스트 2023.06.27

코딩테스트 두 수의 연산값 비교하기

코딩테스트 두 수의 연산값 비교하기 문제 설명 출력 예시 정수 a 와 b가 주어집니다. 2 * a * b 와 a+b(문자열로 더한 정수값) 둘중 뭐가 더 큰지 비교하고 큰 값을 출력하는 문제네요! let a = 91; let b = 2; let answer = 0; let answerA = 2 * a * b; let answerB = parseInt(a.toString()+b.toString()); answerA > answerB ? answer = answerA : answer = answerB; //912 answerA, B에 각각 풀이를 했습니다. answerA에는 2 * a * b 를 하여 364가 나옵니다. answerB는 문자열 두개를 합한뒤 정수로 만들어 912가 나옵니다. 두 정수를 비교하..

코딩테스트 2023.06.26

코딩테스트 로그인 성공?

코딩테스트 로그인 성공? 문제 설명 출력 예시 id_pw 배열과 db배열을 비교해서 하나라도 아이디와 비밀번호가 다 같으면 "login" 출력. 아이디만 맞고 비밀번호가 틀릴 시 "wrong pw" 출력. 아이디와 비밀번호 다 틀릴 시 "fail" 출력을 합니다. 제일 희망적인 답변을 출력하면 됩니다. const id_pw = ["meosseugi", "1234"]; const db = ["meosseugi", "1234"], [["rardss", "123"], ["yyoom", "1234"], ["meosseugi", "1234"]]; var answer = ''; let idCheck = 0; let pwCheck = 0; db.forEach(e=>{ idCheck = 0; pwCheck = 0; i..

코딩테스트 2023.06.25

코딩테스트 안전지대

코딩테스트 안전지대 문제 설명 출력 예시 지뢰가 매개변수로 깔려 있으면 지뢰가 있는 지역과 지뢰 인접한 위험지역을 제외한 안전 지역이 몇칸인지 출력하는 문제 입니다. 지뢰찾기게임의 지뢰라고 생각하시면 됩니다. const board = [[1, 0, 0, 0, 1], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [1, 0, 0, 1, 1]]; const answerarr = board.map(subArr => subArr.slice());//board배열과 연결을 끊기위해 map을 이용 var answer = 0; if(board.length == 1){ board.forEach(e=>{ if(e==0){ answer++ } }) } //7 우선 지역 탐색용과..

코딩테스트 2023.06.21

코딩테스트 숨어있는 숫자의 덧셈 ( 2 )

코딩테스트 숨어있는 숫자의 덧셈 ( 2 ) 문제 설명 출력 예시 my_string 문자열 속에 숨어 있는 정수들을 다 더하는 문제입니다. 정규식을 사용하여 알파벳들을 걸러야 할거같습니다. const my_string = "aAb1B2cC34oOp"; var answer = 0; my_string.split(/[a-z]/i).forEach(e => { if(e != ""){ answer += parseInt(e); } }) //37 우선 my_string 문자열을 split을 이용하여 쪼개어줍니다. 쪼개는 조건은 정규식을 사용하여 a~z까지 찾고, i를 넣어 대문자,소문자 상관없이 찾습니다. 그렇게 forEach반복문을 사용하여 빈칸을 제외하고 문자열인 정수들을 parseInt메서드를 사용하여 숫자열로 변..

코딩테스트 2023.06.20

코딩테스트 외계어 사전

코딩테스트 외계어 사전 63/76562063815684798*6374* 9741 문제 설명 출력 예시 spell 배열에 있는 요소들을 다 사용하여 dic 요소 하나에 다 포함되어 있으면 1을 출력, spell 요소가 하나라도 덜 쓴다면 2를 출력하면 됩니다. 반복문을 많이 사용해야 할거 같습니다.. const spell = ["p", "o", "s"]; const dic = ["sod", "eocd", "qixm", "adio", "soo"]; var answer = 2; let lencount = 0; dic.forEach(e => { }) //2 우선 비교하고 조건을 걸게 많기 때문에 준비물이 많습니다. 문제를 풀면서 설명하겠습니다! const spell = ["p", "o", "s"]; const ..

코딩테스트 2023.06.19

코딩테스트 캐릭터의 좌표

코딩테스트 캐릭터의 좌표 문제 설명 출력 예시 up,down,left,right 키를 누를 때마다 캐릭터가 이동합니다. 기본 좌표는 [0, 0]입니다! 예를 들어 [0,0]에서 up을 누른다면 캐릭터의 좌표는 [0, 1], down을 누른다면 [0, -1], left를 누른다면 [-1, 0], right를 누른다면 [1, 0]입니다. 맵의 크기는 board값에 배열로 주어집니다. 맵의 크기가 x축이 11이면 범위는 -5 ~ 5 입니다. 그 미만, 초과로는 이동할 수 없습니다. 이동하여 현재 좌표를 출력하면 되는 문제입니다~ const keyinput = ["left", "right", "up", "right", "right"]; const board = [11, 11]; var answer = [0,0]..

코딩테스트 2023.06.17

코딩테스트 최댓값 만들기 ( 2 )

코딩테스트 최댓값 만들기 ( 2 ) 문제 설명 출력 예시 양수와 음수가 섞인 배열이 있습니다. 이 배열에서 양수끼리의 곱과 음수끼리의 곱중에 최댓값이 높은 값을 출력하는 문제입니다! 예를 들어 [1,2,-3,4,-5] 배열이 있다면 양수의 곱 최댓값은 2*4 = 8 이지만 음수의 곱 최댓값은 -3 * -5 = 15 입니다. 양수와 음수를 잘 골라서 곱하는게 이 문제의 핵심인거 같습니다! 그럼 바로 풀이 가보겠습니다. const numbers = [0, -31, 24, 10, 1, 9]; var answer; let len = numbers.length; numbers.sort((a,b) => b-a); numbers[0] * numbers[1] > numbers[len-1] * numbers[len-2]..

코딩테스트 2023.06.15

코딩테스트 문자열 정렬하기 ( 2 )

코딩테스트 문자열 정렬하기 ( 2 ) 문제 설명 출력 예시 ny_string 문자열이 들어오면 이 문자열을 소문자로 변환 한 뒤 알파벳 순서대로 정렬한 뒤 출력하세요~ 라는 문제입니다. 소문자를 위한 toLowerCase()메서드랑 정렬을 위한 sort()메서드를 사용하면 되겠네요. 바로 갑시닷 let my_string = "Python"; var answer = ''; my_string = my_string.toLowerCase(); let spl = my_string.split(""); //"hnopty" 우선 my_string을 소문자로 변환한 뒤 split으로 쪼개어 배열로 만든 후 정렬작업을 해보겠습니다. split으로 쪼갠 이유는 my_string의 맨 앞 스펠링을 보고 정렬을 하기 때문에 한..

코딩테스트 2023.06.14

코딩테스트 제곱수 판별하기

코딩테스트 제곱수 판별하기 문제 출력 출력 예시 n 이란 정수가 주어질때 이 정수가 자연수로 제곱이 가능한 제곱수인지 아닌지 구별하는 문제입니다. 64의 제곱수는 8, 144의 제곱수는 12, 그러므로 1을 출력하면 되고 145는 제곱수가 아니므로 2를 출력하면 되는 문제입니다. let n = 144; var answer = 0; let togle = true; let i = 0; while(togle){ } //1 정수가 몇이 나올지 모르니 그냥 while 문을 써봤습니다. i를 i로 계속 곱하여 n이 나오면 그대로 return을 하여 끝내고 i * i 가 n을 넘으면 제곱수가 아니니 togle을 false 하여 while문을 멈추도록 하겠습니다. 바로 while문 내용을 채우겠습니다. let n = ..

코딩테스트 2023.06.13

코딩테스트 문자열 계산하기

코딩테스트 문자열 계산하기 문제 설명 출력 예시 my_string 문자열에 더하기나 빼기 문제가 있습니다. 이 문제의 답이 출력 되도록 풀어보세요~~ let my_string = "5 + 4 - 4"; var answer; let spl = my_string.split(" "); answer = parseInt(spl[0]) spl.forEach((e,i)=>{ }) //5 우선 더하고 빼기를 할 수 있도록 스페이스바 기준으로 split 했습니다. 우선 answer에 첫번째 숫자를 넣어줘서 계산하기 편하게 만들었습니다. 바로 반복문 내용을 채워보겠습니다! let my_string = "5 + 4 - 4"; var answer; let spl = my_string.split(" "); answer = pa..

코딩테스트 2023.06.12

코딩테스트 369게임

코딩테스트 369게임 문제 설명 문제 출력 order변수안에 3,6,9 숫자의 갯수만큼 박수 횟수를 출력해야 하는 문제입니다. 123456 이란 변수가 있으면 3,6 이 한개씩 있으므로 박수 두번, 즉 2가 출력이 되어야 합니다. let order = 36189; var answer = 0; let str = order.toString().split('') str.forEach(e => { }) //3 order을 쪼개어 비교하기 위해 toString() 메서드를 사용하여 숫자열을 문자열로 변환했습니다. str 변수에는 ["3","6","1","8","9"] 숫자들이 쪼개진 배열이 생겼습니다. 이걸 forEach를 이용하여 요소를 3,6,9인지 비교하여 answer를 증가 시키기만 하면 끝날거 같습니다!..

코딩테스트 2023.06.09

코딩테스트 컨트롤 제트

코딩테스트 컨트롤 제트 문제 설명 출력 예시 숫자와 "Z"가 공백으로 간격이 있는 문자열이 주어집니다. 문자열에서 숫자는 다 더하여 출력하지만 "Z" 나온다면 바로 전에 나왔던 숫자는 뺀다는 뜻입니다. 즉 더했던걸 되돌리기 하는 느낌이죠. 바로 문제 풀이 가겠습니다! let s = "10 Z 20 Z 1"; let spl = s.split(' '); var answer = 0; spl.forEach((e,i)=>{ }) //1 간격이 공백으로 있으니 바로 스플릿으로 문자열을 쪼개주겠습니다. spl 에는 ["10","Z","20","Z","1"] 이런 배열이 생깁니다. 10이랑 20뒤에 "Z"가 붙으니 무효처리 되고 나머지 1만 남아 답은 1이 출력되어야 합니다. 바로 forEach를 사용하여 다음 인덱스..

코딩테스트 2023.06.08

코딩테스트 모음 제거

코딩테스트 모음 제거 문제 설명 출력 예시 my_string 매개변수에서 알파벳에서 모음인 a, e, i, o, u 를 제거하여 문자열을 출력하라는 문제네요~ 예를 들어 "bus"는 "bs"로 출력. "nice to meet you" 는 "nc t mt y" 로 출력하는 문제네요 바로 가보겠습니다. let my_string = "nice to meet you"; var answer = ''; [...my_string].forEach(e=>{ }) //"nc t mt y" 바로 펼침연산자 이용해서 요소 하나하나를 비교해보겠습니다. let my_string = "nice to meet you"; var answer = ''; [...my_string].forEach(e=>{ if(!(e == 'a' || e..

코딩테스트 2023.06.07

코딩테스트 숨어있는 숫자의 덧셈 (1)

코딩테스트 숨어있는 숫자의 덧셈 (1) 문제 설명 출력 예시 문자열 안에 문자와 자연수가 막 섞여있습니다. 이 문자열을 뺀 자연수들을 더하여 출력하는 문제입니다~ 바로 풀이 가보겠습니닷! let my_string = "aAb1B2cC34oOp"; var answer = 0; const spl = my_string.split(''); spl.forEach(e=>{ }) //10 저 문자열 속에 있는 자연수들인 1,2,3,4 를 더하여 10을 출력해야 하는 상황입니다. 우선 기본적으로 제 방식대로 하기 위해 스플릿을 사용하여 요소 하나하나를 파해쳐 보겠습니다. forEach문을 사용하여 search() 메서드를 사용하여 정규식으로 숫자만 찾아 뽑아낼 생각입니다. forEach문 안에 내용을 채워보겠습니다~ ..

코딩테스트 2023.06.06

코딩테스트 소인수분해

코딩테스트 소인수분해 문제 설명 출력 예시 정수 n이 매개변수로 주어질 때 n를 소인수 분해하여 나온 수들을 중복없는 배열로 출력하는 문제입니다~ 우선 소인수 분해하는 코드부터 짜봐야겠죠? 바로 갑시닷 let n = 420; var answer = []; let i = 2; while(n>1){//정수가 몇이 나올지 모르니 while문 if(n % i == 0){//i로 나눴을때 나머지가 0일시 계속 나눠주기 answer.push(i); n /= i;//n이 1이 될때까지 나누기 } else { i++ } } //answer= [2, 2, 3, 5, 7] 정수가 정확히 몇이 나올지 모르니 while문을 썼습니다. n을 계속 i로 나누고 나누기 불가능 한 수가 나올때는 i를 증가시켜 n을 1이 될때까지 나..

코딩테스트 2023.06.05
반응형