[내가 처음 푼 풀이] function solution(n) { for(i=3; i
전체 글
function solution(n) { const result = ""; const str = n.slice(0, n.length-1); return result = str; } 1. 계속 값이 undefined 가 나옴.. (왜 그러겠니....) 2. 문자열을 넣구 잘라야지.. 문자열도 없는데 자른다고 값이 나오겠냐고😭 3. 이때까지 풀었던 문제들이 대략 n 값을 받아 쓰다보니.. 또 그런 줄 알았음 [구글링+재풀이] function solution(n) { return "수박".repeat(n).substring(0, n); } 이렇게 한 줄이면 뚝딱 끝나는 코드를.. 1. "수박" 이라는 문자열을 n번 repeat 해주고 그것을 인덱스0(시작) ~ 인덱스n 이전 문자까지 잘라줌 만약, n이 3이라..
[풀이] function solution(seoul) { const kimIdx = seoul.indexOf("Kim"); return `김서방은 ${kimIdx}에 있다`; } 1. "Kim"의 인덱스 값을 알아야 했음! 2. 처음엔 for ... of / for ... in 이 떠올랐지만 이것은 특정 문자열의 인덱스값을 구할 수 없음! 3. 구글링 + 노션에 정리했던 내용을 밑바탕으로, 문자열의 인덱스 값을 받아오는 indexOf() 발견 4. 이번주부터 변수명을 적절하게 짓기 노력하기 위해.. "Kim"의 index 값의 의미로 kimIdx 라는 변수명 사용 이번 문제는 내가 풀기에 아주 쉬운 문제였음 문제만 읽었을 때 지레 겁부터 먹었지만.. 자세히 들여다보면 어려울 것이 없었다. 정리 사용 메서..
한 주간 내가 뭘 배웠고(Learned) 어떤게 아쉬웠고 (Lacked) 어떤게 좋았는지(Liked) [Learned] 1. 코딩 테스트를 시작하면서 어떻게 하면 변수명을 더 적절하게 쓸 수 있을까? 고민하게 됨 2. 블로그를 시작하면서 다양한 메서드를 정리하고 적절하게 사용하는 방법을 배움 3. 진수(radix)를 처음 봤을 때 마냥 어려워 보여서 그냥 넘겼는데 '3진법 뒤집기' 문제를 풀고 나서 진수 변환 메서드를 알게 되었음!! 4. 문자열에서 변수[index]로 받을 수 있는데.. 난 왜 생각하지 못 했던 것... 😔 이제 알았으니 잘 써먹어 보자 [Liked] 1. 블로그를 시작하면서 내가 썼던 글을 자주 들여다 보게 되고 자연스럽게 복습이 됨 2. 코딩 테스트를 시작하면서 어떻게 하면 더 깔끔..
변수는 프로그래밍 언어에서 데이터를 관리하기 위한 핵심 개념 ! 변수 (variable) 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름 프로그래밍 언어에서 값을 저장하고 참조하는 메커니즘, 값의 위치를 가리키는 상징적인 이름 프로그래밍 언어의 컴파일러 또는 인터프리터에 의해 값이 저장된 메모리 공간의 주소로 치환되어 실행 [변수에 여러 개의 값을 저장하는 방법] - 하나의 값을 저장하기 위한 메커니즘. 여러 개의 값을 저장하려면 여러 개의 변수 사용 - 단, 배열이나 객체 같은 자료구조 사용시 관련 있는 여러 개의 값을 그룹화해 하나의 값처럼 사용 //변수는 하나의 값을 저장하기 위한 수단 const userId = 1; const userName =..
[풀이] function solution(n) { const ternary = n.toString(3); const reversed = ternary.split("").reverse().join(""); const answer = parseInt(reversed, 3); return answer; } 1. 구글의 도움을 받아 진수 변환법을 익히고 문자열을 뒤집어주면 간단한 문제였음! (생각보다 쉽게 풀려서 당황) 2. 먼저 10진수를 3진수로 변환해야 하므로 toString() 이용해 변환 3. 이 때, 문자열 뒤집기가 중요! - '배열' 뒤집기는 arr.reverse()로 뒤집어줌 - '문자열' 뒤집기는 split('') 통해 문자를 하나씩 잘라 '배열'에 넣어줌 - reverse()로 '배열'을 뒤집..
함수와 연산자에 전달되는 값은 대부분 적절한 자료형으로 자동 변환됨 이런 과정을 '형 변환 (type conversion)' 이라고 함 [대표적 예시] 1. alert 가 전달받은 값의 자료형 관계없이 문자열로 자동 변환해 보여주는 것 2. 수학 관련 연산자가 전달받은 값을 숫자로 변환하는 경우 * 원시형 형변환 먼저 다루기 * 문자형으로 변환 문자형의 값이 필요할 때 일어나며, alert 메서드는 매개변수로 문자형을 받음 따라서 alert(value) 에서 value 는 문자형이어야 함 (만약, 다른 형의 값을 전달받으면 문자형으로 자동변환) 또는 String(value) 함수 호출해 전달받은 값 문자열로 변환 let value = true; alert(typeof value); // boolean v..
[처음 푼 풀이] function solution(s) { const strCount = s.length; if(strCount % 2 === 0){ s.substr(i,2) } else{ s.substr(i,1) } } 1. 노트에 끄적일 때 홀수는 s.substr(i ,2) 짝수는 s.substr(i, 1) 규칙 찾음 2. 근데 앞에 i 는 어떻게 설정 ???? (너무 어렵고 직관적으로 생각함) [두번째 풀이] function solution(s) { const answer = ""; if (s.length % 2 === 0) { answer = s[s.length / 2 - 1] + s[s.length / 2]; } else { answer = s[Math.floor(s.length / 2)]; }..
[ 내가 푼 풀이 ] //제일 처음 혼자 풀었던 풀이 function solution(s) { let yCount = s.match(/y/gi).length; let pCount = s.match(/p/gi).length; if (yCount == pCount) { true; } else { false; } } 1. 대소문자 구분 없게 하기 위해 //gi를 써서 넣음 2. if 문 까지는 어찌저찌 성공, 하지만 p, y 가 없을 땐 도대체 어떻게 해야되지? 라는 고민의 굴레에 빠짐 3. 구글의 도움을 받은 아래가 2번째 풀이 function solution(s) { let str = s.toUpperCase(); let count = 0; for (let i = 0; i < s.length; i++) {..
Javascript 에서 substring(), slice() 함수는 모두 문자열을 잘라주는 역할 (조금씩 작동 방법이 다름) substring() : 특정 문자열을 잘라 반환 (매개변수로 start index, last index 전달) str.substring(start, end) //(시작인덱스, 종료 인덱스가 가리키는 값 포함 전!) const str = "안녕하세요?" let first = str.substring(0, 1); //안 let second = str.substring(1, 2); //녕 let last = str.substring(str.length-1, str.length); //(5, 6"전")까지 -> ? slice() : substring() 함수와 사용법 동일 (파라미터로..