문제 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; }
문제 문자열(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; }
문제 입력된 문자열의 가운데 문자를 출력하시오. 입력 예제 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..
문제 문자열(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; }
문제 대문자로 이루어진 영어 문자열에서 'S'를 찾아 '$'로 변경하여 출력하시오. 입력 예제 "SIX, SOUP, SALT" 출력 예제 "$IX, $OUP, $ALT" 풀이 방법 1. for문 function solution(text) { let answer = ""; for (let x of text) { if (x === "S") answer += '$' else answer += x } return answer; } 방법 2. reaplace() 메서드, 정규식 사용 function solution(text) { let answer = text; answer = answer.replace(/S/g, "$") return answer; }
문제 왕비를 피해 일곱 난쟁이들과 함께 평화롭게 생활하고 있던 백설공주에게 위기가 찾아왔다. 일과를 마치고 돌아온 난쟁이가 일곱 명이 아닌 아홉 명이었던 것이다. 아홉 명의 난쟁이는 모두 자신이 "백설 공주와 일곱 난쟁이"의 주인공이라고 주장했다. 뛰어난 수학적 직관력을 가지고 있던 백설공주는, 다행스럽게도 일곱 난쟁이의 키의 합이 100이 됨을 기억해 냈다. 아홉 난쟁이의 키가 주어졌을 때, 백설공주를 도와 일곱 난쟁이를 찾는 프로그램을 작성하시오. 입력 예제 [20, 7, 23, 19, 10, 15, 25, 8, 13] 출력 예제 [20, 7, 23, 19, 10, 8, 13] 풀이 function solution (n) { let answer = n; // 얕은 복사 const sum = n.red..
문제 서울시는 6월 1일부터 교통 혼잡을 막기 위해서 자동차 10부제를 시행한다. 자동차 10부제는 자동차 번호의 일의 자리 숫자와 날짜의 일의 자리 숫자가 일치하면 해당 자동차의 운행을 금 지하는 것이다. 예를 들어, 자동차 번호의 일의 자리 숫자가 7이면 7일, 17일, 27일에 운행하 지 못한다. 또한, 자동차 번호의 일의 자리 숫자가 0이면 10일, 20일, 30일에 운행하지 못한다. 여러분들은 일일 경찰관이 되어 10부제를 위반하는 자동차의 대수를 세는 봉사활동을 하려고 한다. 날짜의 일의 자리 숫자가 주어지고 7대의 자동차 번호의 끝 두 자리 수가 주어졌을 때 위반하는 자동차의 대수를 출력하는 프로그램을 작성하세요. 입력 예제 3 25 23 11 47 53 17 33 출력 예제 3 풀이 자동차..