알고리즘 복습

김예린·2024년 1월 4일
0
function find_max_num(array) {
	let maxNum=array[0];
    for(let i=0;i<array.length;i++){
    	if(array[i]>maxNum){
        	maxNum=array[i];
        }
    }
    return maxNum;
}

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]));

일단 가장 큰 수를 저장할 변수(배열의 첫번째 값)를 설정하고 배열을 돌면서 비교한다. 만약 배열을 돌다가 maxNum과 비교해 크다면 maxNum을 더 큰 값으로 바꿔준다. 끝까지 다 돌면 maxNum을 반환해준다.

function greet(name) { // name이 x(인풋)입니다.
    return "안녕, " + name + "!"; // 이 친구가 y(아웃풋)이죠.
}

console.log(greet("스파르탄")); // "안녕, 스파르탄!"

함수는 코드를 그룹화하여 더 쉽게 재사용 가능하게 만들어 주는 기능이다.
인풋을 받으면 아웃풋을 리턴하여 결과를 내보내거나 혹은 명시적으로 리턴하지 않더라도 주어진 동작들을 수행한다.

문자열이 주어진다 -> 인풋이 외부로 부터 들어온다! 함수의 인자로 문자열이 들어온다!

function countCharacters(str) {
    return ... // 잘은 모르겠으나 str의 문자 개수를 센 무언가를 리턴해야 함!
}

문자의 등장 횟수를 저장할 객체가 필요!(처음에는 빈 객체여야함) -> let charCount = {};

객체는 key-value쌍의 목록이다.

function countCharacters(str) {
    let charCount = {};
    for (let i = 0; i < str.length; i++) {
        const char = str[i];
        if (charCount[char]) {
            charCount[char]++;
        } else {
            charCount[char] = 1;
        }
    }
    return charCount;
}

인자로 들어온 문자열의 길이까지 배열을 돌면서 charCount객체에서 카운트가 있으면 +1, 카운트가 없으면 1로 세팅을 해준다(모든 문자의 갯수를 나타내야하기 때문)

profile
아자아자

0개의 댓글