★ from(), includes(), toString(), replace()
https://school.programmers.co.kr/learn/courses/30/lessons/120811?language=javascript
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
function solution(array) {
return array.sort((a,b)=>a-b)[parseInt(array.length/2)]
}
https://school.programmers.co.kr/learn/courses/30/lessons/120903
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
function solution(s1, s2) {
s1 = s1.filter(word => s2.includes(word))
return s1.length;
}
이 문제를 풀기 위해서 includes 함수를 알아야 했다
function solution(s1, s2) {
s1 = s1.filter(word => word in s2)
return s1;
}
위처럼 파이썬과 비슷한 방식(in)이 통하나 시도해 봤는데 역시 안 됐다..
includes 기억해 두자.
*참고로 합집합 구하는 법 (출처 https://blog.naver.com/youngchanmm/221911458872)
let arrA = [1, 4, 3, 2];
let arrB = [5, 2, 6, 7, 1];
[...new Set([...arrA, ...arrB])]; // returns [1, 4, 3, 2, 5, 6, 7]
https://school.programmers.co.kr/learn/courses/30/lessons/120818?language=javascript
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
function solution(price) {
return price >= 500000 ? parseInt(price * 0.8) : price >= 300000 ? parseInt(price * 0.9) : price >= 100000 ? parseInt(price * 0.95) : price
}
삼항연산자 썼는데 너무 길어서 코드가 더러운 것 같다
https://school.programmers.co.kr/learn/courses/30/lessons/120836?language=javascript
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
function solution(n) {
cnt = 0;
for (i = 1; i <= n; i++) {
if (n % i === 0) {
cnt += 1;
}
}
return cnt;
}
https://school.programmers.co.kr/learn/courses/30/lessons/120908
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
(1) split이용한 방법
function solution(str1, str2) {
return str1.split(str2).length > 1 ? 1 : 2
}
(2) includes 이용한 방법
function solution(str1, str2) {
return str1.includes(str2) ? 1 : 2;
}
https://school.programmers.co.kr/learn/courses/30/lessons/120906
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
분명 문자열로 변경하는 게 string이 맞았는데 왜 안되나 했는데 첫 글자가 대문자였다..
"S"tring이다
function solution(n) {
n = String(n)
result = 0
for (i = 0; i < n.length; i++) {
result += parseInt(n[i])
}
return result;
}
다른 풀이
function solution(n) {
return n
.toString()
.split("")
.reduce((acc, cur) => acc + Number(cur), 0);
}
toString(), split(), reduce() 이용해서 풀 수도 있다.
https://school.programmers.co.kr/learn/courses/30/lessons/120909?language=javascript
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
function solution(n) {
return n**0.5 % 1 === 0 ? 1 : 2;
}
**0.5 하면 루트 씌운 값이 나온다는 걸 알면 쉽게 구할 수 이따
https://school.programmers.co.kr/learn/courses/30/lessons/120837
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
function solution(hp) {
return parseInt(hp / 5) + parseInt((hp % 5) / 3) + ((hp % 5) % 3) / 1
}
https://school.programmers.co.kr/learn/courses/30/lessons/120849?language=javascript
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
function solution(my_string) {
del = [/a/g,/e/g,/i/g,/o/g,/u/g]
for (i of del) {
my_string = my_string.replace(i,"")
}
return my_string;
}
파이썬에서 replace() 함수는 모든 문자가 새로운 문자로 치환됐지만,
자바스크립트에서의 replace는 제일 처음에 오는 문자만 치환되었다.
그래서 모든 문자를 치환시키는 방법을 찾아봤는데,
치환시키고 싶은 문자를 슬래시(/)로 감싸고 뒤에 g를 붙이면 된다. ex: string.replace(/a/g, "A")
훨씬 간단한 방법
function solution(my_string) {
return my_string.replace(/[aeiou]/g, '');
}
나처럼 일일이 리스트를 새로 만들지 않고 한번에 [aeiou]를 만들고 //g를 해주면 되나 보다.
filter와 includes를 이용한 풀이
function solution(my_string) {
return Array.from(my_string).filter(t => !['a', 'e', 'i', 'o', 'u'].includes(t)).join('');
}
t가 배열 안에 포함되어있지 않으면 조인
(Array from 관련 링크 🔗)
from()은 배열에 사용하는 메소드로 대상이 되는 값을 배열로 변환해 주는 매우 유용한 메소드입니다.
라고 한다.
https://school.programmers.co.kr/learn/courses/30/lessons/120851?language=javascript
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
function solution(my_string) {
my_string = my_string.split("")
result = 0
for (i of my_string) {
if (parseInt(i)) {
result += parseInt(i)
}
}
return result;
}
다른 사람들은 reduce나 filter, map 등 이용해서 풀었는데 나는 아직 사용법을 제대로 못 익혀서 이용하기 어렵다
좀 더 공부해야겠다
| [자바스크립트/javascript] 프로그래머스 : 코딩테스트 입문 51~55문제 (0) | 2023.01.23 |
|---|---|
| [자바스크립트/javascript] 프로그래머스 : 코딩테스트 입문 41~50문제 (1) | 2023.01.21 |
| [자바스크립트/javascript] 프로그래머스 : 코딩테스트 입문 26~30문제 (0) | 2023.01.18 |
| [자바스크립트/javascript] 프로그래머스 : 코딩테스트 입문 21~25문제 (0) | 2023.01.17 |
| [자바스크립트/javascript] 프로그래머스 : 코딩테스트 입문 11~20문제 (0) | 2023.01.16 |