-
항해99 알고리즘 풀이 3일차(1)알고리즘 풀이 2021. 11. 13. 01:25
1.문자열 다루기 기본
문제 설명
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
제한 사항- s는 길이 1 이상, 길이 8 이하인 문자열입니다.
s return "a234" false "1234" true 문제풀이
function solution(s) {var reg = s.match(/\D/g) //0-9사이 숫자가 아닌 것을 변수로 준다.if (s.length == 4 || s.length == 6 && reg === null) { //s의 길이가 4나 6이면서 reg가 null이면return true;}else{return false}}**match() : 문자열이 정규식과 매치되는 부분을 검색var reg = s.match(/\D/g) //0-9사이 숫자가 아닌 문자열 검색reg === null //0-9사이의 숫자가 아닌 문자열 이 null이면 (숫자만 있다면)2.서울에서 김서방 찾기
문제 설명
String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.
제한 사항- seoul은 길이 1 이상, 1000 이하인 배열입니다.
- seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다.
- "Kim"은 반드시 seoul 안에 포함되어 있습니다.
seoul return ["Jane", "Kim"] "김서방은 1에 있다" 문제풀이
function solution(seoul) { for (let i = 0; i < seoul.length; i++) { //for문을 돌려서 김서방 위치 찾기 if (seoul[i] === 'Kim') return `김서방은 ${i}에 있다` //seoul의 i 번째에 김이 있으면 김서방은 i에 있다 리턴 } }
다른풀이
function findKim(seoul){ var idx = seoul.indexOf('Kim'); return "김서방은 " + idx + "에 있다"; }
***
indexOf(): 배열 안에서 찾으려는 값(searchElement)과 정확하게 일치(===)하는 '첫번째' element의 index를 리턴
- arr.indexOf(search Element[, from Index])
indexOf(찾으려는 Element값, 검색을 시작할 index)from Index값이 없으면 index0부터 검색을 시작한다.
3.수박수박수박수박수박수?
문제 설명
길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.
제한 조건- n은 길이 10,000이하인 자연수입니다.
n return 3 "수박수" 4 "수박수박" 문제 풀이
function solution(n) { return "수박".repeat(n).substring(0,n); }
***
"str".repeat(반복할 횟수): 문자열을 파라미터 값 만큼 반복해주는 함수
substring(시작인덱스, 끝인덱스): 문자열의 시작 인덱스로 부터 종료 인덱스 전 까지 문자열의 부분 문자열을 반환
'알고리즘 풀이' 카테고리의 다른 글
항해99 알고리즘 4일차 (1) (0) 2021.11.13 항해 99 알고리즘 풀이 2일차(2) (0) 2021.11.12 항해 99 알고리즘 풀이 2일차 (1) (0) 2021.11.12 항해 99 2주차 알고리즘 풀이 (0) 2021.11.12 항해99 2주차 알고리즘 풀이 (0) 2021.11.12