-
온보딩 커리큘럼(알고리즘풀기 기초 0단계 3일차)항해99(온보딩커리큘럼) 2023. 3. 15. 00:44
문자열 뒤집기
문제 설명
문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ my_string의 길이 ≤ 1,000
입출력 예
my_string return
"jaron" "noraj" "bread" "daerb"
입출력 예 설명
입출력 예 #1
- my_string이 "jaron"이므로 거꾸로 뒤집은 "noraj"를 return합니다.
입출력 예 #2
- my_string이 "bread"이므로 거꾸로 뒤집은 "daerb"를 return합니다.
function solution(my_string) { return my_string.split('').reverse().join('') }
function solution(my_string) { const arr = [...my_string]; let newArr = []; for (let i = my_string.length - 1; i >= 0; i--) { newArr.push(arr[i]); } return newArr.join(""); } console.log(solution("jarcon"))
문제 설명
문자열 my_string과 문자 letter이 매개변수로 주어집니다. my_string에서 letter를 제거한 문자열을 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ my_string의 길이 ≤ 100
- letter은 길이가 1인 영문자입니다.
- my_string과 letter은 알파벳 대소문자로 이루어져 있습니다.
- 대문자와 소문자를 구분합니다.
입출력 예
my_string letter result
"abcdef" "f" "abcde" "BCBdbe" "B" "Cdbe"
입출력 예 설명
입출력 예 #1
- "abcdef" 에서 "f"를 제거한 "abcde"를 return합니다.
입출력 예 #2
- "BCBdbe" 에서 "B"를 모두 제거한 "Cdbe"를 return합니다.
function solution(my_string, letter) { let arr = my_string.split('') return arr.filter((i) => i !== letter).join('') }
특정 문자 제거하기
문제 설명
문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요.
제한사항
- 2 ≤ my_string 길이 ≤ 5
- 2 ≤ n ≤ 10
- "my_string"은 영어 대소문자로 이루어져 있습니다.
입출력 예
my_string n result
"hello" 3 "hhheeellllllooo"
입출력 예 설명
입출력 예 #1
- "hello"의 각 문자를 세 번씩 반복한 "hhheeellllllooo"를 return 합니다.
1번 답
function solution(my_string, n) { const arr = my_string.split('') let newArr = arr.map((e) => e.repeat(n)) return newArr.join('') }
2번 답
function solution(my_string, n) { const arr = my_string.split('') let newArr = arr.map((e) => repeat(e, n)) return newArr.join('') } function repeat(e, n) { let temp = '' for (i = 0; i < n; i++) { temp += e } return temp }
문자 반복 출력하기
문제 설명
머쓱이는 할머니께 생신 축하 편지를 쓰려고 합니다. 할머니가 보시기 편하도록 글자 한 자 한 자를 가로 2cm 크기로 적으려고 하며, 편지를 가로로만 적을 때, 축하 문구 message를 적기 위해 필요한 편지지의 최소 가로길이를 return 하도록 solution 함수를 완성해주세요.
제한사항
- 공백도 하나의 문자로 취급합니다.
- 1 ≤ message의 길이 ≤ 50
- 편지지의 여백은 생각하지 않습니다.
- message는 영문 알파벳 대소문자, ‘!’, ‘~’ 또는 공백으로만 이루어져 있습니다.
입출력 예
message result
"happy birthday!" 30 "I love you~" 22
입출력 예 설명
입출력 예 #1
- message의 글자 수가 15개로 최소 가로 30cm의 편지지가 필요합니다.
입출력 예 #2
- message의 글자 수가 11개로 최소 가로 22cm의 편지지가 필요합니다.
function solution(message) { return message.length * 2 }
모음제거
문제 설명
영어에선 a, e, i, o, u 다섯 가지 알파벳을 모음으로 분류합니다. 문자열 my_string이 매개변수로 주어질 때 모음을 제거한 문자열을 return하도록 solution 함수를 완성해주세요.
제한사항
- my_string은 소문자와 공백으로 이루어져 있습니다.
- 1 ≤ my_string의 길이 ≤ 1,000
입출력 예
my_string result
"bus" "bs" "nice to meet you" "nc t mt y"
입출력 예 설명
입출력 예 #1
- "bus"에서 모음 u를 제거한 "bs"를 return합니다.
입출력 예 #1
- "nice to meet you"에서 모음 i, o, e, u를 모두 제거한 "nc t mt y"를 return합니다.
function solution(my_string) { return my_string.replace(/a|e|i|o|u/g, '') }
문자열안에 문자열
문제 설명
문자열 str1, str2가 매개변수로 주어집니다. str1 안에 str2가 있다면 1을 없다면 2를 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ str1의 길이 ≤ 100
- 1 ≤ str2의 길이 ≤ 100
- 문자열은 알파벳 대문자, 소문자, 숫자로 구성되어 있습니다.
입출력 예
str1 str2 result
"ab6CDE443fgh22iJKlmn1o" "6CD" 1 "ppprrrogrammers" "pppp" 2 "AbcAbcA" "AAA" 2
입출력 예 설명
입출력 예 #1
- "ab6CDE443fgh22iJKlmn1o" str1에 str2가 존재하므로 1을 return합니다.
입출력 예 #2
- "ppprrrogrammers" str1에 str2가 없으므로 2를 return합니다.
입출력 예 #3
- "AbcAbcA" str1에 str2가 없으므로 2를 return합니다.
function solution(str1, str2) { return str1.includes(str2) ? 1 : 2 }
알고리즘 공부하면서 나는 메서드를 찾아보고 풀었는데 팀원분들은 for문을 돌던가 등등 다른방법으로 고민하고 나도 그걸로 고민하고 보니 여러가지 방법을 알 수 있어 좋았다.
그리고 이전에 풀었던 문제였지만 또 나와서 못푼문제가 ..문자반복 출력하기였는데 이전에 남자친구가 설명해줄때 내가 리피트메서드를 모르면 함수로 쓸줄 알아야한다고 알려줬던것만 생각나서 리피트로 답을 안내고 함수를 쓰려니까 도저히 이해가 안되서 결국 이전에 풀었던 답을 봤는데 그제서야 이해가 갔다.... 아직 난 기초가 너무 없다 ㅠㅠㅠ 자바스크립트를 여기서 어떤걸 공부해야할지 아직 감이 안오긴한다.. 책을 한번 더 봐야하나 싶다.
'항해99(온보딩커리큘럼)' 카테고리의 다른 글
온보딩커리큘럼 3주차(CSS 2일차) (2) 2023.03.21 온보딩 커리큘럼(알고리즘풀기 기초 0단계 4일차) (0) 2023.03.16 온보딩 커리큘럼(알고리즘풀기 기초 0단계 2일차) (0) 2023.03.13 온보딩 커리큘럼(알고리즘풀기 기초) (0) 2023.03.12 온보딩 커리큘럼[객체] (1) 2023.03.11