스팀에 이런게임이 있길래 사용해봤다. 그냥 Lofi음악나오는 친구인데, 맥북되는게 얼마없어서 일단 이걸 사용하기로 결정
3232. Find if Digit Game Can Be Won
문제 설명
- 양수배열 주어짐
- 1자리수 vs 2자리수 합으로 싸움
- Alice가 이길때만 True (엘리스가 선공)
문제풀이
- nums.length로 판단을 해주던지 >=10으로 해서 두자리수와 한자리수 계산해서 이게 합이 같은 경우에만 false
- 그게 아닐경우는 true로 해주면 될 것 같다.
- 엘리스가 선턴이니까 원하는걸 집을테니...
class Solution {
func canAliceWin(_ nums: [Int]) -> Bool {
var single = 0
var double = 0
for num in nums {
if num >= 10 { // double-digit 일때
double += num
}
else {
single += num
}
}
return single != double
}
}
사실 엄청 간결한 문제 였던 것 같다. 이게 문제가 더 어려웠으려면 다른 진수를 가져와서 하는 문제가 있었다면 더 어려웠을지도?
타인의 코드
class Solution {
func canAliceWin(_ nums: [Int]) -> Bool {
var sumSingleDigit = 0, sumDoubleDigit = 0
for num in nums {
if num < 10 {
sumSingleDigit += num
} else {
sumDoubleDigit += num
}
}
return sumSingleDigit != sumDoubleDigit
}
}
이번에는 완벽하게 동일했던 것 같다. 콘테스트 보니까 easy문제임에도 정답률이 낮으면 꽤 어렵던데,
medium
으로 다시 넘어가야할 것 같다는 생각을 다시 하게됐다.