[프로그래머스/코딩테스트 모음/Javascript] 22

TED·2023년 9월 19일
0

Javascript CodingTest

목록 보기
31/63
post-thumbnail

업로드중..

< 오늘의 문제 >

문자열 정렬하기(2)
합성수 찾기

문자열 정렬하기 (2)

function solution(my_string) {
    var answer = '';
    let lowString = my_string.toLowerCase() // 문자열을 소문자로 변환
    let sortArray = lowString.split('').sort() // 문자열을 배열로 변환하고 오름차순
    answer = sortArray.join('') // 배열을 join 사용해서 문자열로 변환
    return answer
}
  • 나의 풀이
    : 뭔가 한줄로 풀 수 있을거같은데 계속안되서 풀어서 코딩했다. 문자열일때만, 배열일때만 사용가능한 메서드가 있어서 그런건가?
    싶어서 다른 사람 풀이를 찾아봤는데 오잉이네..
function solution(my_string) {
    let smallString = my_string.toLowerCase()
    return smallString.split('').sort().join('')
}
function solution(my_string) {
    var answer = [...my_string.toLowerCase()].sort().join("");
    return answer;
}
  • 다른 사람 풀이
    1 . 기본 answer='' 값을 없애면 가능했구나,,! ㅠㅠ
    2 . 저렇게 배열안에 복사를해서 푸는방식은 요즘 자주 보지만 사용할 생각을 못하게된다. 너무 좋아보인다 풀이가. 속시원함

합성수 찾기

function solution(n) {
    var answer = 0;
    for( let i = 1 ; i <= n ; i++){
        let counter = 0
        for ( let j = 1 ; j <= i ; j++){
            if ( i % j === 0) {
                counter += 1 // 약수를 구해서 카운팅해줘요.
            }
        }
        if (counter >= 3) { // 약수의 개수가 3이상이면,
            answer += 1
        }
    }
    return answer;
}
  • 나의 풀이
    : 일단 약수를 구하려면 나머지 값이 0인 경우을 찾아야하기때문에 문제에서 주어진 한계가 있기때문에 i와 j로 각각 for문을 이용해서
    조건을 만들었다. i의 for문이 돌때마다 counter를 초기화해주고 각 i의 약수값이 모두 구해지면 약수값이 3개 이상인값을 if문의 조건을 이용해서 구해준다.
profile
컴맹 개발 입문자

0개의 댓글