티스토리 뷰
다음과 같이 숫자로 이루어진 배열이 있을 때, 이 배열 내에서 가장 큰 수를 반환하시오
[3, 5, 6, 1, 2, 4]
function find_max_num(array) {
// 가장 큰 수를 담을 변수를 0번째 인덱스 값 초기화 시키기 !!
let max_num = array[0];
for (let i = 0; i < array.length; i++) { // 배열을 순차적으로 탐색
if (array[i] > max_num) {
// 현재 발견한 값이 max_num보다 크게 되면 기존의 max_num을 밀어내고 본인이 max_num으로 등극한다
max_num = array[i];
}
}
return max_num; // 선출된 max_num을 리턴
}
console.log("정답 = 6 / 현재 풀이 값 = ", find_max_num([3, 5, 6, 1, 2, 4]));
console.log("정답 = 6 / 현재 풀이 값 = ", find_max_num([6, 6, 6]));
console.log("정답 = 1888 / 현재 풀이 값 = ", find_max_num([6, 9, 2, 7, 1888]));
입,출력 예시와 같이 입력 문자열에 나타나는 각 알파벳의 종류,갯수를 요약하여 나타내시오.
function summarize_string(target_string) {
let n = target_string.length;
let count = 0;
let result_str = '';
// 0 ~ n-2까지 루프를 돌아요
for (let i = 0; i < n - 1; i++) {
// i번째 문자와 i + 1번째 문자가 같으면 count를 늘린다
if (target_string[i] === target_string[i + 1]) {
count++;
} else {
// i번째 문자와 i + 1번째 문자가 같지 않으면 카운트를 멈추기
// 그리고, 현재 문자랑 카운트를 혼합해서 요약표현을 만든다 또 또 count 초기화 !!!
result_str += target_string[i] + String(count + 1) + '/';
count = 0;
}
}
// 위에서 n-1 까지 루프를 안 돌았던 이유는 n-1이 마지막 문자이기 때문에 결산을 하기 위함!
result_str += target_string[n - 1] + String(count + 1);
return result_str;
}
let input_str = "acccdeee";
console.log(summarize_string(input_str));
알고리즘 첫 강의를 들었는데 흠.. 내가 생각하던 문제해설이나 생각보다 조금 더 난이도가 있는것 같아서 버벅버벅;;
분명 공부 한 내용인데 막상 코드로 풀어보자니 손이 안떨어진다 ㅋㅋㅋㅋㅋㅋ
일단 당장은 해설문을 달아 올렸지만 다음에는 직접 코드를 맞춰보는 연습이 꼭 꼭 필요하다는 것 !!
진짜 코드는 많이 쳐보고 많이 봐야하는것이 진리