greenhelix
greenhelix
greenhelix
07-10 23:11
  • All (229)
    • Algorithm (118)
      • Algorithm (17)
      • Graph (0)
      • Core (6)
      • Python (18)
      • PythonSnippet (4)
      • Java (59)
      • Kotlin (14)
    • Project (0)
    • Study (8)
      • License (5)
      • EIP (3)
    • Programming (63)
      • Android (41)
      • Flutter (1)
      • Bugs Life (21)
      • Linux (0)
    • Tech (32)
      • Tech (17)
      • Drone (4)
      • Hacking (11)
    • Life (6)
      • INGRESS (1)
      • 심시티빌드잇 (0)
250x250

티스토리

hELLO · Designed By 정상우.
greenhelix

greenhelix

#19_Code Signal Arcade >> Are Equally Strong
Algorithm/Java

#19_Code Signal Arcade >> Are Equally Strong

2019. 11. 21. 12:00

Code Signal -Arcade

코드시그널
아케이드 문제 관련 풀이들을 구글링하면서 찾아가는 일지를 하나씩하나씩 기록하고자 합니당. 

주로 자바 위주로 풀이를 올릴예정이고, 추가로 공부하고 있는 파이썬이나 코틀린, GO, 자바스크립트 더 나아가 스위프트까지...

되는대로 가능한대로 구글링하고 정답맞추면 바로 패스!!
이런식으로 좋은 코드이든 말든 짜집기한 결과물들을 개인적 소장을 위해 기록합니다. ^^
참고 사이트들은 아래에 링크로 남겨둘터이니 자세하고 더욱 깊은 내용들은 링크로 들어가보세요!


Are Equally Strong

둘다 똑같이 강한가요? ... ?????? 

 

문제는 율라 길어요~~ 

하하하하...

 

일단 문제는 나와 친구가 있다고 합니다.

 

둘의 양팔의 힘을 수치로 측정한답니다. 

이때, 각자의 양팔의 힘을 합쳤을 때, 이 둘은 같아야합니다. 

 

언제나 그랬듯이 같으면 t 다르면 f 입니다. 

 

답안을 볼까요? 

boolean areEquallyStrong(int yourLeft, int yourRight, int friendsLeft, int friendsRight) {
 
    boolean equality = true; 

    int yourPower = 0; 
    int friendPower = 0; 
    
    yourPower = yourLeft + yourRight ; 
    
    friendPower = friendsLeft + friendsRight; 
    
    if(yourPower == friendPower){ 
        
        int yourMax = 0;
        int friendMax = 0; 
        
        yourMax = Math.max(yourRight, yourLeft); 
        friendMax = Math.max(friendsRight, friendsLeft); 
        
        if(yourMax == friendMax){
            return equality = true; 
        }else if(yourMax != friendMax){
            return equality =  false; 
        }
        
    }else{
        return equality = false; 
    }
         
    return equality; 
}

잘 이해가 안가시죠? 

테스트를 보면 좀 더 이해가 잘 갑니다. 내 양쪽 팔.. 친구 양쪽팔 힘의 수치가 있습니다. 이게 입력이 되는데, 

이 둘의 합이 같으면 t 다르면 f 인거죠.. 

 

간단합니다.. 하지만 코드로는 극혐.. 

 

일단 두 팔의 힘을 더해서 변수로 선언해줍니다.   yourpower = left + right   & friendpower = left + right 

 

그리고 조건이 두 팔의 힘의 합이 같아도 둘중 쎈 팔의 힘이 서로 같아야만 성립됩니다. 

그래서  두 팔의 최대값을 math.max() 를 활용해서 구해준뒤, 

 

일단 합이 같고, 최대값의 팔힘이 같다면 true ,  그외에는 다   false를 넣어주면 됩니다. 

 

끝. 간단했! 오랜만이다 간단한건.. ㅋㅋ

 

728x90
반응형
저작자표시 비영리 변경금지 (새창열림)

'Algorithm > Java' 카테고리의 다른 글

#20_Code Signal Arcade >> Array Maximal Adjacent Difference  (0) 2019.11.22
#18_Code Signal Arcade >> Palindrome Rearranging  (0) 2019.11.20
#17_Code Signal Arcade >> Array Change  (0) 2019.11.19
    'Algorithm/Java' 카테고리의 다른 글
    • #21_Code Signal Arcade >> Is IPv4 Address
    • #20_Code Signal Arcade >> Array Maximal Adjacent Difference
    • #18_Code Signal Arcade >> Palindrome Rearranging
    • #17_Code Signal Arcade >> Array Change
    greenhelix
    greenhelix
    개발에 관한 것들과 개인적인 것을 담는 블로그

    티스토리툴바