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를 넣어주면 됩니다.
끝. 간단했! 오랜만이다 간단한건.. ㅋㅋ
'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 |