⛵ 항해99/개강준비
[JavaScript 문법] 프로그래머스_3일차
hhhhy
2023. 7. 31. 19:06
문자열 뒤집기
- 문제 주소
https://school.programmers.co.kr/learn/courses/30/lessons/120822
- 나의 풀이
function solution(my_string) {
var answer = [];
// solution(my_string)을 실행하면 answer 배열을 만듦
for (let i = 0; i < my_string.length; i++) {
answer.unshift(my_string[i]);
}
// i는 0부터 시작하는데, my_string 길이(0~4)까지 실행하고, 다 돌면 1일 증가됨
// unshift를 써서 실행될때마다 배열의 맨 앞에 요소를 추가함
return answer.join("")
}
// join을 써서 배열을 문자열로 변환
console.log(solution("jaron")) // noraj
- 알게 된 것
📍 join() 메서드
- 배열을 문자열로 변환
# 예시
const elements = ['Fire', 'Air', 'Water'];
console.log(elements.join()); // "Fire,Air,Water"
console.log(elements.join('')); // "FireAirWater"
console.log(elements.join('-')); // "Fire-Air-Water"
# 참고
1) https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/join
2) https://inpa.tistory.com/entry/JS-%F0%9F%9A%80-%EB%B0%B0%EC%97%B4%EC%9D%84-%EB%AC%B8%EC%9E%90%EC%97%B4%EB%A1%9C-%EB%B3%80%ED%99%98%ED%95%98%EB%8A%94-3%EA%B0%80%EC%A7%80-%EB%B0%A9%EB%B2%95
📍 전개구문(spread), reverse() 활용한 코드
function solution(my_string) {
var answer = [...my_string].reverse().join("");
// [...my_string] 전개구문을 [] 배열에 넣고 → (['j', 'a', 'r', 'o', 'n']
// .reverse() 뒤집고 → [ 'n', 'o', 'r', 'a', 'j' ]
// 배열을 문자열로 바꿔주기 → noraj
return answer;
}
console.log(solution("jaron"))
📍 reverse() 메서드
- 배열의 순서를 반전
# 예시
const array1 = ['one', 'two', 'three'];
console.log('array1:', array1); // "array1:" Array ["one", "two", "three"]
const reversed = array1.reverse();
console.log('reversed:', reversed); // "reversed:" Array ["three", "two", "one"]
특정 문자 제거하기
- 문제 주소
https://school.programmers.co.kr/learn/courses/30/lessons/120826
- 나의 풀이
function solution(my_string, letter) {
let str = my_string;
return str.replaceAll(letter, '');
}
console.log(solution("BCBdbe", "B")) // Cdbe
- 알게 된 것
📍 replaceAll() 메서드
- 문자열 변경하기
# 예시
'문자열'.replaceAll('찾을 문자열','바꿀 문자열')
# 참고
1) https://blogpack.tistory.com/1131
2) https://velog.io/@bami/Javascript-String.replaceAll
2) https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/replaceAll
📍 replace() 메서드 활용한 코드
function solution(my_string, letter) {
let str = my_string;
return str.replace(new RegExp(letter, "g"), '');
}
console.log(solution("BCBdbe", "B")) // Cdbe
📍 replace() 메서드에 변수 넣기
- RegExp 객체를 활용해야함
- 변수에 정규표현식 //g 을 이용하면 결과값 안나옴
# 예시
new RegExp(letter); // 처음 나오는 letter를 찾는다
new RegExp(letter, "g"); // 모든 letter를 찾는다
new RegExp(letter, "gi"); // 대소문자 구분 없이 모든 letter를 찾는다
# 참고
https://cookinghoil.tistory.com/95
📍 정규표현식(Regular Expression)
# 참고
1) https://inpa.tistory.com/entry/JS-%F0%9F%93%9A-%EC%A0%95%EA%B7%9C%EC%8B%9D-RegExp-%EB%88%84%EA%B5%AC%EB%82%98-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-%EC%89%BD%EA%B2%8C-%EC%A0%95%EB%A6%AC
2) https://curryyou.tistory.com/234
문자 반복 출력하기
- 문제 주소
https://school.programmers.co.kr/learn/courses/30/lessons/120825
- 나의 풀이
function solution(my_string, n) {
let word = "";
// 빈문자열 주기
for (let i = 0; i < my_string.length; i++) {
// 1) i를 my_string의 글자수보다 작으면
// 7) i를 1 증가시켜서 다시 돌린다
for (let a = 0; a < n; a++) {
// 2) 여기로 와서, a가 n보다 작으면
// 4) a를 1 증가시키고 다시 a가 n보다 작으면
// 6) 반복하다가 a가 n보다 크면
word += (my_string[i]);
// 3) word(빈문자열)에 my_string의 i번째 글자를 넣는다
// 5) word(빈문자열)에 my_string의 i번째 글자를 넣는다
}
}
return word;
}
console.log(solution("hello", 3))
편지
- 문제 주소
https://school.programmers.co.kr/learn/courses/30/lessons/120898
- 나의 풀이
function solution(message) {
return message.length * 2
}
console.log(solution("happy birthday!"))
- 알게 된 것
📍 String.length : 공백도 문자열 길이에 포함
# 참고
1) https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/length
2) https://velog.io/@coolsteve/String%EC%9D%98-length-%ED%94%84%EB%A1%9C%ED%8D%BC%ED%8B%B0%EB%8A%94-%EB%AC%B8%EC%9E%90%EC%97%B4%EC%9D%98-%EA%B3%B5%EB%B0%B1%EB%8F%84-%EB%AC%B8%EC%9E%90%EC%97%B4%EC%9D%98-%EA%B8%B8%EC%9D%B4%EC%97%90-%ED%8F%AC%ED%95%A8-%EB%90%A0%EA%B9%8C
모음 제거
- 문제 주소
https://school.programmers.co.kr/learn/courses/30/lessons/120849
- 나의 풀이
function solution(my_string) {
return my_string.replace(/[aeiou]/g, "")
}
console.log(solution("nice to meet you")) // nc t mt y
- 알게 된 것
📍 정규표현식에서 []
- 괄호안의 문자들 중 하나
# 참고
https://curryyou.tistory.com/234
문자열 안에 문자열
- 문제 주소
https://school.programmers.co.kr/learn/courses/30/lessons/120908
- 나의 풀이
function solution(str1, str2) {
return str1.includes(str2) ? 1 : 2;
}
console.log(solution("ab6CDE443fgh22iJKlmn1o", "6CD")) // 1
- 알게 된 것
📍 includes() 메서드
- 하나의 문자열이 다른 문자열에 포함되어 있는지를 판별
- 검색 시 대소문자를 구분
# 참고
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/includes