문제 설명
한 개의 문자열을 입력받아 해당 문자열에 알파벳 대문자가 몇 개 있는지 알아내는 프로그램 을 작성하세요.
▣ 입력설명
첫 줄에 문자열이 입력된다. 문자열의 길이는 100을 넘지 않습니다.
▣ 출력설명
첫 줄에 대문자의 개수를 출력한다.
input | output |
---|---|
KoreaTimeGood | 3 |
JavaScript | 2 |
풀이
const findUppercase = (str) => {
let count = 0;
for (let x of str) {
if (x === x.toUpperCase()) count++;
// console.log(x.toUpperCase(), x);
}
return count;
};
const str = 'KoreaTimeGood';
console.log(findUppercase(str)); // 3
✍️ solution
const solution = (str) => {
let answer = 0;
for (let x of str) {
let num = x.charCodeAt();
if (num >= 65 && num <= 90) answer++;
}
return answer;
};
const str = 'JavaScript';
console.log(solution(str));
문제 설명
대문자와 소문자가 같이 존재하는 문자열을 입력받아 대문자로 모두 통일하여 문자열을 출력 하는 프로그램을 작성하세요.
▣ 입력설명
첫 줄에 문자열이 입력된다. 문자열의 길이는 100을 넘지 않습니다.
▣ 출력설명
첫 줄에 대문자로 통일된 문자열이 출력된다.
input | output |
---|---|
ItisTimeToStudy | ITISTIMETOSTUDY |
JavaScript | JAVASCRIPT |
풀이
const makeUpperCase = (str) => {
const answer = str.toUpperCase();
return answer;
};
const str = 'ItisTimeToStudy';
console.log(makeUpperCase(str)); // ITISTIMETOSTUDY
✍️ solution
const solution = (s) => {
let answer = '';
for (let x of s) {
if (x === x.toLowerCase()) answer += x.toUpperCase();
else answer += x;
}
return answer;
};
const str = 'ItisTimeToStudy';
console.log(solution(str));
// 아스키 코드를 사용한 방법
const solution = (s) => {
let answer = '';
for (let x of s) {
let num = x.charCodeAt();
if (num >= 97 && num <= 122) answer += String.fromCharCode(num - 32);
else answer += x;
}
return answer;
};
const str = 'ItisTimeToStudy';
console.log(solution(str));
문제 설명
대문자와 소문자가 같이 존재하는 문자열을 입력받아 대문자는 소문자로 소문자는
대문자로 변환하여 출력하는 프로그램을 작성하세요.
▣ 입력설명
첫 줄에 문자열이 입력된다. 문자열의 길이는 100을 넘지 않습니다.
▣ 출력설명
첫 줄에 대문자는 소문자로, 소문자는 대문자로 변환된 문자열을 출력합니다.
input | output |
---|---|
StuDY | sTUdy |
JavaScript | jAVAsCRIPT |
풀이
const changeStr = (str) => {
let answer = '';
for (let x of str) {
let changedStr = x.charCodeAt();
if (changedStr >= 97) {
console.log(changedStr);
answer += x.toUpperCase();
} else {
answer += x.toLowerCase();
}
}
return answer;
};
const str = 'StuDY';
console.log(changeStr(str));
✍️ 다른풀이
const changeStr = (str) => {
let answer = '';
for (x of str) {
if (x === x.toUpperCase()) {
answer += x.toLowerCase();
} else {
answer += x.toUpperCase();
}
}
return answer;
};
const str = 'StuDY';
console.log(changeStr(str));
문제 설명
N개의 문자열이 입력되면 그 중 가장 긴 문자열을 출력하는 프로그램을 작성하세요.
▣ 입력설명
첫 줄에 자연수 N이 주어진다.(3<=N<=30) 두 번째 줄부터 N개의 문자열이 주어진다. 문자열의 길이는 100을 넘지 않습니다. 각 문자열의 길이는 서로 다릅니다.
▣ 출력설명
첫 줄에 가장 긴 문자열을 출력한다.
input | output |
---|---|
5 teacher time student beautiful good | beautiful |
풀이
const longestStr = (str) => {
let a = 0;
let answer = '';
for (let i = 0; i < str.length; i++) {
if (a < str[i].length) {
a = str[i].length;
answer = str[i];
}
}
return answer;
};
const str = ['teacher', 'time', 'student', 'beautiful', 'good'];
console.log(longestStr(str)); // beautiful
📌 for of 로 풀어보기
const longestStr = (str) => {
let a = 0;
let answer = '';
for (x of str) {
if (a < x.length) {
a = x.length;
answer = x;
}
}
return answer;
};
const str = ['teacher', 'time', 'student', 'beautiful', 'good'];
console.log(longestStr(str));
✍️ solution
function solution(s) {
let answer = '',
max = Number.MIN_SAFE_INTEGER;
for (let x of s) {
if (x.length > max) {
max = x.length;
answer = x;
}
}
return answer;
}
let str = ['teacher', 'time', 'student', 'beautiful', 'good'];
console.log(solution(str));