일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 자바스크립트 split()
- 엘리스
- 프론트개발
- 코딩부트캠프
- 엘리스 AI 트랙 5기
- 날씨 웹 만들기
- HTML
- [파이썬 실습] 기초 문제
- 개발일기
- 삼항연산자
- 자바스크립트 sort()
- 리트코드
- 개발공부
- 자바스크립트 reduce()
- 간단한 날씨 웹 만들기
- 자바스크립트 날씨
- 프론트개발공부
- reactnativecli
- 엘리스 ai 트랙
- 프로그래머스
- [파이썬 실습] 중급 문제
- leetcode
- JavaScript
- RN 프로젝트
- 부트캠프
- 자바스크립트 날씨 웹 만들기
- 코드스테이츠
- 자바스크립트
- [파이썬 실습] 심화 문제
- [AI 5기] 연습 문제집
- Today
- Total
개발조각
[알고리즘 풀이_Lv0] 문자열 뒤집기, 특정 문자 제거하기, 배열의 유사도, 가위 바위 보 본문
[알고리즘 풀이_Lv0] 문자열 뒤집기, 특정 문자 제거하기, 배열의 유사도, 가위 바위 보
개발조각 2023. 3. 10. 16:03*제주코딩베이스캠프의 JavaScript 알고리즘 100일 챌린지를 참고로 정리하고 있습니다.*
문자열 뒤집기
문제
https://school.programmers.co.kr/learn/courses/30/lessons/120822
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요.
소스코드
Array.from()
// 방법1
function solution(my_string) {
return Array.from(my_string).reverse().join('');
}
split()
// 방법2
function solution(my_string) {
return my_string.split('').reverse().join('');
}
https://www.youtube.com/watch?v=C72HFa51ZM0&list=PLkfUwwo13dlWZxOdbvMhkzhAowaiEjuGS&index=12
특정 문자 제거하기
문제
https://school.programmers.co.kr/learn/courses/30/lessons/120826
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문자열 my_string과 문자 letter이 매개변수로 주어집니다.
my_string에서 letter를 제거한 문자열을 return하도록 solution 함수를 완성해주세요.
소스코드
// 방법1
function solution(my_string, letter) {
return my_string.replaceAll(letter, '');
}
정규식으로 풀어보기
// 방법2
function solution(my_string, letter) {
let reg = new RegExp(letter, 'g') // 'g': 전역에서 검사
return my_string.replace(reg, '')
}
아래와 같이 쓸 수 없는 잆는 이유는 정규식 표현 안에 변수를 집어 넣을 수가 없습니다.
그래서 변수를 써서 구해야 됩니다.
my_string.replace(/letter/g, '') // X
"BCBdbe".replace(/B/g, '') // 'Cdbe'
- /[1-9]/g : 1~9
- /[a-z]/g : a~z
- /[A-Z]/g : A~Z
https://www.youtube.com/watch?v=oBvYJJySXk4&list=PLkfUwwo13dlWZxOdbvMhkzhAowaiEjuGS&index=13
배열의 유사도
문제
https://school.programmers.co.kr/learn/courses/30/lessons/120903
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
두 배열이 얼마나 유사한지 확인해보려고 합니다.
문자열 배열 s1과 s2가 주어질 때 같은 원소의 개수를 return하도록 solution 함수를 완성해주세요.
- 1 ≤ s1, s2의 길이 ≤ 100
- 1 ≤ s1, s2의 원소의 길이 ≤ 10
- s1과 s2의 원소는 알파벳 소문자로만 이루어져 있습니다
- s1과 s2는 각각 중복된 원소를 갖지 않습니다.
소스코드
s1의 원소가 s2에 포함되어 있으면 filter해주고 배열의 길이를 리턴
// 방법1
function solution(s1, s2) {
return s1.filter(v => s2.includes(v)).length;
}
교집합으로 구하기 (s1⋂s2)
// 방법2
function solution(s1, s2) {
return s1.length + s2.length - new Set([...s1, ...s2]).size
}
// s1 = [a, b, c] s2 = [com, b, d, p, c]
// s1.length + s2.length = 8
// new Set([...s1, ...s2]) = [a, b, c, com, d, p]
// new Set([...s1, ...s2]).size = 6
// 8 - 6 = 2
Set은 중복제거
https://www.youtube.com/watch?v=CS9BgWNE_mM
가위 바위 보
문제
https://school.programmers.co.kr/learn/courses/30/lessons/120839
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
가위는 2 바위는 0 보는 5로 표현합니다.
가위 바위 보를 내는 순서대로 나타낸 문자열 rsp가 매개변수로 주어질 때,
rsp에 저장된 가위 바위 보를 모두 이기는 경우를 순서대로 나타낸 문자열을 return하도록 solution 함수를 완성해보세요.
소스코드
깡으로 if문으로 풀기
// 방법1
function solution(rsp) {
var answer = '';
for(let i of rsp){
if(i === '0'){
answer += '5'
}else if(i === '2'){
answer += '0'
}else if(i === '5'){
answer += '2'
}
}
return answer;
}
object, map을 이용하여 풀기
// 방법2
function solution(rsp) {
let answer = {'0':'5', '2':'0', '5':'2'};
return [...rsp].map(v=>answer[v]).join('');
}
// rsp문자열을 스프레드로 펼쳐서 배열로 만들어준다.
// map으로 해당 원소를 순회한다.
// 순회하면서 answer[해당원소]를 해주어 0->5, 2->0, 5->2으로 교체해준다.
// join으로 배열을 문자열로 바꾸어준다.
https://www.youtube.com/watch?v=JVy72QeE0YA
'알고리즘🅰 > 제주코딩베이스캠프 프로그래머스 문제 풀이' 카테고리의 다른 글
[알고리즘 풀이_Lv0] A로 B 만들기, 팩토리얼, k의 개수, 가까운 수 (0) | 2023.03.14 |
---|---|
[알고리즘 풀이_Lv0] 배열 회전시키기, 외계행성의 나이, 369게임, 중복된 문자 제거 (0) | 2023.03.13 |
[알고리즘 풀이_Lv0] 중복된 숫자 개수, 피자 나눠 먹기, 짝수 홀수 개수, 배열 두배 만들기 (0) | 2023.03.10 |
[알고리즘 풀이_Lv0] 양꼬치, 짝수의 합, 배열의 평균값, 머쓱이보다 키 큰 사람 (0) | 2023.03.10 |
[알고리즘 풀이_Lv0] 몫 구하기, 숫자 비교하기, 나이 출력, 각도기 (0) | 2023.03.10 |