[Programmers] 삼각형의 완성조건(1) Java, Python

2023. 6. 29. 19:44IT/Programmers

728x90
반응형

Java

class Solution {
    public int solution(int[] sides) {
        int answer = 0;
        int max = 0;
        int sum = 0;
        for(int i = 0; i < 3; i++) {
            if(sides[i] > max) {
                max = sides[i];
            }
            sum += sides[i];
        }
        if(max < (sum-max)) answer = 1;
        else answer = 2;

        return answer;
    }
}

아직 학부 수준에서도 밑바닥인 내 코드.

어쩔 수 없다... 4년을 쉬었는걸...(핑계)

이딴 코드 보지 말고 밑을 보라..

 

다른사람 풀이

와 미쳤나

import java.util.Arrays;
class Solution {
    public int solution(int[] sides) {
        int answer = 0;
        Arrays.sort(sides);
        return sides[2] >= sides[0]+sides[1] ? 2 : 1;
    }
}

와 진심 나는 자바를 포기해야한다 (핑계)

내 잘못을 정리하자면

1. Arrayys import를 사용한다는 걸 생각하지 못했다.

2. sort 함수가 있다는 걸 몰랐음

3. 삼항 연산자 생각을 아예 못했다.

하다못해 삼항연산자만 생각했어도 덜 부끄러웠을텐데.. Arrays.sort가 가장 중요한 부분이었지만 java는 아예 초짜라 모르는게 하나도 안부끄럽고 앞으로 잘하면 된다고 생각하지만.. 삼항연산자..하..부끄럽다.. 잊지말자..

*sort() : import java.util.Arrays > Arrays.sort(배열) > 오름차순 정렬 (작은 숫자부터 큰 숫자로 1 2 3 ``` 8 9 10 ```)

#Java #Arrays #sort함수 #오름차순정렬

 

 


Python

java 다른 사람 풀이를 봐버려서 의미는 없지만 python code 공부한다 생각하고 일단 작성

def solution(sides):
    answer = 0
    sides.sort()
    answer = 2 if sides[2] >= (sides[0] + sides[1]) else 1 
    return answer

나는 return문에서 연산하는 걸 안좋아하기 때문에 - 대규모 프로젝트 문서화 작업을 '제대로' 해 본 사람이라면 누구나 그럴 것이다. 제발 개발자들은 추후 유지보수와 문서화 작업을 좀 신경써줬으면 좋겠다. 제발 좀. 나가면 그만이라고 생각하지 말고 하드코딩 하지 말라거... 갈끔하다고 끝이 아니라 다른 사람이 넘겨 받았을 때 바로 이해가 가능해야 하는 거 아니냐고요... 갑자기 입사 한달만에 약 10년치 코드 문서화 작업을 혼자서 다 한거 생각하니 너무 열받네 게다가 그거 나 혼자 다 했는데 나중에 나보다 늦게 석사 입학한 오빠 이름으로 넘어간것도 열받아. #여성인권 #유리천장 #여성혐오 #페미니즘 욕하지마라 아직도 이딴 세상이면서 무슨 개ㅐ소리냐. 이쪽 계열은 아직도 성희롱 심하다. 남자밖에 없는 연구실에서 여자 혼자 끝까지 버티면서 (사고나기 전까지) 진짜 별 소리 별 짓을 다 당하면서 선배들이 왜 나갔는지 알겠더라. 그러면서 여자들은 약해서 못버틴대. 니들이 그딴식으로 대하니까 못견딘거지. 오죽하면 내가 거기 있으면서 지구상에 제발 남자들보다 더 크고 더럽고 냄새나고 털 북슬북슬한 종족이 생겨서 남자들 성폭행 성희롱 당할 위험 겪으며 살으라고 공대 5호관 옥상에서 담배피면서 지는 노을을 보면서 진짜 매일매일 진심으로 빌었을까.

? 어쩌다 이렇게 빠졌지.

 

아무튼 이것도 다른 사람 풀이를 보니 또 다른 코드가 있었다.

def solution(sides):
    return 1 if max(sides) < (sum(sides) - max(sides)) else 2

아까 내가 한 것과 비슷한 방식 (더하고 빼고)인 것만 다르고 얼추 비슷하다.

그 외에는 뭐..

 

728x90
반응형