https://www.acmicpc.net/problem/1157

 

1157번: 단어 공부

알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.

www.acmicpc.net

const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().trim().toUpperCase().split("");
const dic = {};

input.forEach((i) => {
    if(dic[i] === undefined) {
        dic[i] = 1;
    } else {
        dic[i] += 1;
    }
});

const keyList = Object.keys(dic);
const list = [];
let cnt = 0;
let maxKey = '';

keyList.forEach((key) => {
   list.push(dic[key]); 
});

let max = Math.max(...list);

keyList.forEach((key) => {
    if(dic[key] === max) {
        maxKey = key;
        cnt++;
    }
    if(cnt > 1) return false;
});

if(cnt > 1) console.log("?");
else console.log(maxKey);
728x90

'Algorithm&CodingTest > Baekjoon' 카테고리의 다른 글

[Baekjoon] [1316] 그룹 단어 체커  (0) 2023.02.09
[Baekjoon] [10773] 제로  (0) 2023.02.09
[Baekjoon] [4344] 평균은 넘겠지  (0) 2023.02.09
[Baekjoon] [2941] 크로아티아 알파벳  (0) 2023.02.09
[Baekjoon] [10926] ??!  (0) 2023.02.09

https://school.programmers.co.kr/learn/courses/30/lessons/120861

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

function solution(keyinput, board) {
    var answer = [0,0];
    const x = Math.floor(board[0]/2);
    const y = Math.floor(board[1]/2);
    
    keyinput.forEach((k) => {
        if(k === "up") {
            if(answer[1] < y) answer[1] += 1;
        }
        else if(k === "down") {
            if(answer[1] > y*-1) answer[1] -= 1;
        }
        else if(k === "right") {
            if(answer[0] < x ) answer[0] += 1;
        }
        else {
            if(answer[0] > x*-1) answer[0] -= 1;
        }
    });
    
    return answer;
}
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/120868

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

function solution(sides) {
    let answer = 0;
    let c = 1;
    let max = Math.max(...sides);
    let min = Math.min(...sides);
    while(true) {
        if(max >= c) {
            if(max < c+min) {
                answer++;
            }
        } else if (c > max) {
            if(c < max+min) {
                answer++;
            } else {
                break;
            }
        }
        c++;
    }
    
    return answer;
}
728x90

https://www.acmicpc.net/problem/4344

 

4344번: 평균은 넘겠지

대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.

www.acmicpc.net

const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().split('\n');

const N = Number(input[0]);

for(let i = 0 ; i < N ; i++) {
    let st = input[i+1].split(" ");
    let n = Number(st.shift());
    let total = 0;
    let arg = 0;
    st.forEach(d => total += Number(d));
    arg = total/n;
    
    let m = 0;
    st.forEach(d => {
        if(d > arg) m++;
    });
    
    const result = m/n*100;
    console.log(result.toFixed(3)+"%");
}
728x90

+ Recent posts