1 분 소요

Lv 0

문제 푸는건 5초 정리는 10분…

  • 하루 시작은 알고리즘 한 문제 풀기로 시작
  • 자바가 특히 헷갈려서 언어에 익숙해질겸 lv_0부터 다시 하는게 나을 듯
  • 어차피 기본기가 안되면 뭘 배워도 응용이 안됨

  • 문제 -> https://school.programmers.co.kr/learn/courses/30/lessons/120830

Java

class Solution {
    public int solution(int n, int k) {
        int answer = 0;
        if(n<10){
            return (n * 12000) + (k * 2000);
        }
        else{
            k -= n/10;
                return (n * 12000) + (k * 2000);
        }
    }
}
// 다른사람풀이 
class Solution {
    public int solution(int n, int k) {
        return n * 12000 + k * 2000 - (n / 10 * 2000);
    }
}

정리

  • 생각해보니 조건문을 실행할 필요가 없었다.

Python

# 내가 푼 답
def solution(n, k):
    return n * 12000 + k * 2000 - (n // 10 * 2000)
# 다른 사람 풀이 1


정리

  • 파이썬은 몫을 따로 // 해주면 된다
  • 아니면 그냥 int로

JavaScript

// 내가 푼 답

function solution(n, k) {
    var z = parseInt(n/10) * 2000
    return n * 12000 + k * 2000 - z;
}
// 다른 사람 풀이 1
function solution(n, k) {
    return n*12000 + k*2000 - parseInt(n/10)*2000
}
  
// 다른 사람 풀이 2
function solution(n, k) {
    k-=~~(n/10);
    if (k < 0) k = 0;
    return n*12000+k*2000;
}

정리

  • 변수 정의 없이 그냥 바로 할 수 있음
  • 틸트 연산자를 사용하면 내부적으로 32비트 정수로 변환후 NOT 연산자를 실행한다. 출처 : https://oper0116.tistory.com/40

출처 : 프로그래머스,

댓글남기기