문제 N명의 학생을 일렬로 세웠을 때, 선생님이 볼 수 있는 학생의 수를 구하시오. 앞사람보다 크면 보이고, 작거나 같으면 보이지 않습니다. 입력 예제 [133, 145, 150, 127, 156, 134] 출력 예제 4 풀이 function solution(h) { let answer = 1; // 첫번째 사람은 무조건 카운팅 let max = h[0]; // 첫번째 사람 키를 최댓값으로 초기화하고 시작 for (let i = 1; i max) { answer++; max = h[i]; } } return answer; }
문제 입력된 배열 요소가 해당 요소의 바로 앞 요소보다 큰 수일 경우 출력하시오. 첫번째 요소는 무조건 출력합니다. 입력 예제 [3, 1, 23, 17, 6, 10] 출력 예제 [3, 23, 10] 풀이 function solution(nums) { let answer = []; answer.push(nums[0]); for(let i = 1; i nums[i - 1]) answer.push(nums[i]) } return answer; }
문제 문자열(s)에서 특정 문자(t)의 개수를 구하는 프로그램을 작성하시오. 입력 예제 caaatttts a 출력 예제 3 풀이 - 문자열.indexOf(문자열, 시작인덱스) function solution(s, t) { let answer = 0; let idx = s.indexOf(t); while(idx !== -1) { answer++; idx = s.indexOf(t, idx + 1); } return answer; }
문제 입력된 문자열에서 중복 문자를 제거하고 출력하시오. 입력 예제 caaatttts 출력 예제 cats 풀이 문자열의 i번째 문자의 indexOf 값이 해당 문자의 인덱스와 같다면, 중복된 문자 중 첫 번째 문자이므로 answer에 포함한다. function solution(s) { let answer = ""; for (let i = 0; i < s.length; i++) { if (s.indexOf(s[i]) === i) answer += s[i]; } return answer; }
문제 입력된 문자열의 가운데 문자를 출력하시오. 입력 예제 1 close 출력 예제 1 o 입력 예제 2 soup 출력 예제 2 ou 풀이 - 문자열.substring(start인덱스, end인덱스전) function solution(s) { let answer; let mid = Math.floor(s.length/2); // 홀수 if(s.length % 2 === 1) answer = s.substring(mid, mid + 1) // 짝수 else answer = s.substring(mid - 1, mid + 1) return answer; } - 문자열.substr(start인덱스, length) function solution(s) { let answer; let mid = Math.floo..
문제 N개의 문자열 중 가장 긴 문자열을 출력하시오. 입력 설명 문자열은 서로 길이가 다르다. 입력 예제 ["soup", "cat", "shining", "source", "go", "mango", "clothing"] 출력 예제 clothing 풀이 Number.MIN_SAFE_INTEGER(안전한 최소 정수)를 사용하여 max를 초기화한다. function solution(s) { let answer, max = Number.MIN_SAFE_INTEGER; for (let x of s) { if (x.length > max) answer = x; } return answer; }
문제 문자열이 입력되면 대문자를 소문자로 소문자를 대문자로 변환하여 출력하시오. 입력 예제 SixSoupSalt 출력 예제 sIXsOUPsALT 풀이 방법 1. toUpperCase()와 비교 function solution(s) { let answer = ""; for (let x of s) { if (x === x.toUpperCase()) answer += x.toLowerCase(); else answer += x.toUpperCase(); } return answer; } 방법 2. ASCII 코드 사용 - 대문자 : 65~90 - 소문자 : 97~122 function solution(s) { let answer = ""; for (let x of s) { let asc = x.charCode..
문제 입력된 문자열에서 대문자를 찾아 개수를 출력하시오. 입력 예제 SixSoupSalt 출력 예제 3 풀이 방법 1. toUpperCase() 사용 function solution(s) { let answer = 0; for (let x of s) { if (x === x.toUpperCase()) answer++; } return answer; } 방법 2. ASCII 코드 사용 - 대문자 : 65~90 - 소문자 : 97~122 function solution(s) { let answer = 0; for (let x of s) { let asc = x.charCodeAt(); if (asc >= 65 && asc
문제 문자열(s)을 입력받으면 해당 문자열에 특정 문자(t)가 몇 개 존재하는지 출력하시오. 입력 예제 SIXSOUPSALT S 출력 예제 3 풀이 방법 1. for문 사용 function solution(s, t) { let answer = 0; for (let x of s) { if (x === t) answer++; } return answer; } 방법 2. split() 메서드 사용 function solution(s, t) { let answer = s.split(t).length; // t를 구분자로 해서 나눈다. return answer - 1; }