1 분 소요

Lv 0

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

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

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

Java

// 내가 푼 답
class Solution {
    public int solution(int[] dot) {

        if(dot[0] > 0 && dot[1] > 0){
            return 1;
        }else if(dot[0] > 0 && dot[1] < 0){
            return 4;
        }else if(dot[0] < 0 && dot[1] < 0){
            return 3;
        }else{
            return 2;
        }

    }
}
// 다른사람풀이 

class Solution {
    public int solution(int[] dot) {
        int answer = 0;
        if(dot[0] > 0) 
            if(dot[1] > 0) answer = 1;
            else answer = 4;
        else 
            if(dot[1] > 0) answer = 2;
            else answer = 3;

        return answer;
    }
}

정리

  • pass

Python

# 내가 푼 답
def solution(dot):
    if dot[0] > 0 and dot[1] > 0:
        return 1
    elif dot[0] > 0 and dot[1] < 0:
        return 4
    elif dot[0] < 0 and dot[1] < 0:
        return 3
    else:
        return 2
# 다른 사람 풀이 1

def solution(dot):
    quad = [(3,2),(4,1)]
    return quad[dot[0] > 0][dot[1] > 0]

정리

  • 코드가 간편하긴한데 가독성이 좋은지는 잘 모르겠다.
  • 논리는 짱
  • x축이 양수면 1사분면과 4사분면만 나오도록 잘 짠거 같다.

JavaScript

// 내가 푼 답
function solution(dot) {
	if(dot[0] > 0 && dot[1] > 0){
		return 1;
	}else if(dot[0] > 0 && dot[1] < 0){
		return 4;
	}else if(dot[0] < 0 && dot[1] < 0){
		return 3;
	}else{
		return 2;
	}
}
// 다른 사람 풀이
function solution(dot) {
    const [num,num2] = dot;
    const check = num * num2 > 0;
    return num > 0 ? (check ? 1 : 4) : (check ? 3 : 2);
}

정리

  • 배열이 위와 같은 식으로 나눠서 들어가질 수 도 있다.
  • dot [1,2,3] 이렇게 있다면
  • const [a,b,c] 이렇게 각각 배정가능
  • 체크구조분해

출처 : 프로그래머스,

댓글남기기