본문 바로가기

전체 글168

[JS]숫자 문자열과 영단어 https://programmers.co.kr/learn/courses/30/lessons/81301 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr 첫번째 시도! 오늘 푼 문제는 아니다 replaceAll 메서드를 사용하고 싶었지만, 프로그래머스에서는 사용이 불가능한 것 처럼 보였다 function solution(s) { if(Number.isInteger(Number(s))){ //s가 정수인지 return Number(s) } let str = s const numEn= ['zero','on.. 2022. 5. 31.
[JS]가운데 글자 가져오기 https://programmers.co.kr/learn/courses/30/lessons/12903 코딩테스트 연습 - 가운데 글자 가져오기 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s ret programmers.co.kr function solution(s) { let lg= s.length/2 return lg%1>0?s[Math.floor(lg)]:s.slice(lg-1,lg+1) } 길이가 홀수인 경우는 정 가운데 글자만 반환하고 길이가 짝수인 경우는 가운데 2글자를 반환하는 내용 계속 생각을 해봤는데 처음에는 lg를 s.length로.. 2022. 5. 31.
[JS]같은 숫자는 싫어 https://programmers.co.kr/learn/courses/30/lessons/12906 코딩테스트 연습 - 같은 숫자는 싫어 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 programmers.co.kr 첫번째시도 단순하게 for문을 돌려서 앞의 인덱스와 비교했다! function solution(arr) { let result =[arr[0]] for(let i = 1; i{ if(i===0){// index가 0이라면 return arr[i]===el //true값을위해서 그냥 이렇게 설정 } return el!==arr[i-1]/.. 2022. 5. 31.
[JS]두 정수 사이의 합 첫번째 시도 하나씩 더하는 것이기 때문에, 이 경우에는 엄청나게 숫자가 크다면 오래걸릴 수 밖에 없다 function solution(a, b) { let answer=0 if(a>b){ [a,b]=[b,a] // a가 b보다 크다면 a와 b값 체인지 } for(let i=a;ib){ [a,b]=[b,a]//(a가 b보다 크다면 둘의 값 스위치) } return (b-a+1)*(b-a+2)/2+(a-1)*(b-a+1) // (b-a)를 하게되면 총 갯수보다1개가 부족하다 // 예 3,5 일때 3,4,5 총 3개이지만 (b-a)는 2인걸 볼 수 있다 //등차수열의 합 n(n+1)/2를 이용하여 (b-a+1)*(b-a+2)/2 // 상수의 합은 상수의 갯수 상수*n이지만 등차수열은 1부터 시작했을때 n*n+.. 2022. 5. 31.