
문제 설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다.입출력 예 n return 12345 [5,4,3,2,1] 풀이 과정더보기가장 먼저 떠오른 생각은 이걸 어떻게 해????였다.숫자를..뒤집어서..뒤집은 걸 잘라서 넣으면 되나? 어떻게 뒤집는데..?일단 할 수 있는 걸 하기로 했다. 하나씩 하다 보면 길이 보일지도 모른다. //자연수 n을 문자열로 만들어서//문자열의 숫자 하나하나씩 배열에 넣는다. //그리고 우째야하노 첫번째 코드function solution(n) { let num = n let string = nu..

문제 설명자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 제한 사항3 ≤ n ≤ 1,000,000 더보기풀이 과정 떠오른 로직1. n을 x로 나눈 나머지가 1인 자연수를 뽑아서 배열로 만들어야겠다 2. 배열을 내림차순으로 정렬해야겠다 3. 배열의 [0]인덱스 숫자를 뽑아야겠다 입출력 예시 1) 10을 3으로 나눈 나머지가 1이고, 3보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 3을 return 해야 합니다. 2) 12를 11로 나눈 나머지가 1이고, 11보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 11을 retu..

문제 설명정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 문제 풀이더보기문제를 풀기 위해 생각한 로직은n의 약수 : 나눴을 때 나머지가 0인 수 for 문을 써서 1~n까지 다 나눠서 나머지가 0인 수만 걸러내면 되겠다. 걸러낸 수를 다 더하면 되겠다. 였다. for문을 이용하여 짠 첫번째 코드.function solution(n) { const sum = 0 for(let i = 0; i결과는 실패. 어떤 문제점이 있는지 모르겠어서 gpt한테 물어봤다. 1. 할당 연산자를 틀렸다! '===' 를 습관적으로 '='로 입력했다. 이런 초보적인 실수를! 난 초보지만. 2. const는 상수인데..

문제 설명 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항N의 범위 : 100,000,000 이하의 자연수 풀이 과정더보기머릿속에서 떠오른 논리 전개는 이거였다.//자연수 n을 각 자릿수로 나누기 //자연수 n을 문자열로 바꿔서 문자열을 하나씩 나누는 방법은 없을까? //n의 모든 인덱스 더하기 모든 인덱스 더하기는 for문으로 처리할 수 있을 것 같지만, 자연수 n을 문자열로 바꿔서 문자열을 하나씩 나누는 방법을 잘 모르겠었다. 해당 메서드가 있을 것 같아 구글링을 했다. Array.from() 을 사용한 방법이 있었다. 유사배열객체(array-like..

문제 설명 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. 제한 사항- arr은 길이 1 이상, 100 이하인 배열입니다.- arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. 문제 풀이더보기//배열의 객체를 모두 더해서 (arr[0]+arr[1]+arr[2] ... +arr[arr.length]) - 반복문 사용 //배열의 길이만큼 나눈다 /(arr.length)라고 예상했다. 배열의 객체를 모두 더하는 방법은 for문을 사용하면 될 것 같다. 1차 코드function solution(arr) { var answer = 0; for (let i = 0; i이렇게 넣고 테스트를 돌려보니까 결괏값과 기댓값이 달랐다.뭐가 문제일까?..

문제 설명단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 제한사항s는 길이가 1 이상, 100이하인 스트링입니다. 문제 풀이 과정더보기가운데 글자를 가져오기를 풀기 위한 아이디어는-단어를 하나식 쪼갠 문자열로 만든다-문자열의 길이를 반으로 나눈다-짝수일 때, 문자열의 길이/2 한 값과 (문자열의 길이/2)+1 한 값을 가져온다였다. 그리고 나는 이렇게 코드를 짜 보았다.function solution(s) { var answer = 's'; let vocabulary = answer.split(''); let halfVoca= if (vocabulary%2 === 0) { ..

오늘은 알고리즘 특강을 들었다. 저녁이라 너무 피곤해서 특강을 잘 들을 수 있을까 걱정이 무색할 정도로 특강 내용이 좋았고 재미있게 잘 들었다. 내가 가고 싶은 서비스 회사들이 라이브 코테를 진행하는 게 트렌드인 것도 있고, 알고리즘 문제 자체도 푸는 게 재미있어 보여서 알고리즘 문제를 잘 풀어내보고 싶다는 생각이 든다. 강의를 진행하신 튜터님이 숙제를 내 주셨다. 프로그래머스의 수박수박수박수박수박수? 라는 문제다. 문제 설명길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한 조건n은 길이 10,000이하인 자연수입니다. 풀이 과정더보기아니 강의에..

문제 설명 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 -num은 int 범위의 정수입니다. -0은 짝수입니다. 문제 풀이 과정 더보기 - 짝수, 홀수를 보자마자 어제 공부했던 코딩 테스트-짝수의 합이 생각났다. %를 이용해 나머지가 0이면 짝수, 아니면 홀수라고 정의했었지. 짝수의 합 풀이를 참고해 solution 함수를 작성했다. - 작성하기 전에 제한 조건 중 'int 범위의 정수'라는 말이 뭔지 모르겠어서 구글링을 해 보았다. -2^31≤ num ≤ 2^31로 표현하면 될 것 같다. ^연산자를 코딩에서 쓰는지는 모르겠어서 지피티한테 한번 물어봤다. 자바스크립트에서 2^31을 표현하려면 'Math.pow..