23.3.20

커피 내리는 그냥 사람·2023년 3월 20일
0

입사 후 블로그

목록 보기
9/24

프로그래머스 풀다가 약간 막힌 문제들

정답률 89%에서 88%로 떨어졌을 뿐인데 이렇게 모를 줄이야

제곱수 판별하기

function solution(n) {
    let answer = 0;
    let newSqrt = Math.sqrt(n)
    // sqrt => 제곱근 알아내기
    if(newSqrt % 1 === 0) {
      // 정수 판별
      // 정수면 제곱근, 아니면 2...
        answer += 1
    }else{
        answer += 2
    }
    return answer;
}

개미군단

if문까지 다 써봤지만 결국 못 풀었다.. 풀이는 그냥 수학이었다.

function solution(hp) {
    let answer = 0;
    let a = parseInt(hp / 5)
    // 일단 장군개미 걸러내고
    let b = parseInt((hp-a*5) / 3)
    // 장군거미 걸러낸거에 3 나누고
    let c = hp - 5*a - 3*b
    // 나머지 다 걸러내고
    answer = a + b + c
  // 몫들 다 더한다.
    return answer;
}
  • 초반 접근법이 맞았다..

대문자와 소문자

function solution(my_string) {
    let answer = '';
    let temp = []
    // 임시 배열
    let newString = my_string.split('')
    // 일단 배열로 만듦
    for(let i = 0; i < newString.length; i++){
        if(newString[i] === newString[i].toUpperCase()){
          // 만일 대문자라면
            temp.push(newString[i].toLowerCase())
          // 소문자로 바꿔서 넣고
        }else{
            temp.push(newString[i].toUpperCase())
          // 아니면 대문자로 바꿔넣고
        }
    }
    answer = temp.join('')
    return answer;
}

암호 해독

어렵지 않았지만 그래도 문제가 독특해서 남겨본다.

function solution(cipher, code) {
    let answer = '';
    let temp = []
    // 임시 배열
    let cipherArray = cipher.split('')
    // 암호를 배열로 만듦
    for(let i = 0; i < cipherArray.length; i++){
        if((i + 1) % code === 0){
          // ~번째면 0 + 1
            temp.push(cipherArray[i])
    }
        answer = temp.join('')

}
        return answer;
}
profile
커피 내리고 향 맡는거 좋아해요. 이것 저것 공부합니다.

0개의 댓글