프로그래머스 양꼬치 (알고리즘)
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
출처 : 프로그래머스,
댓글남기기