-
[프로그래머스] 음양 더하기 / KotlinProgrammers 2022. 2. 6. 23:23
https://programmers.co.kr/learn/courses/30/lessons/76501?language=kotlin
코딩테스트 연습 - 음양 더하기
어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re
programmers.co.kr
문제 설명
어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.
제한사항- absolutes의 길이는 1 이상 1,000 이하입니다.
- absolutes의 모든 수는 각각 1 이상 1,000 이하입니다.
- signs의 길이는 absolutes의 길이와 같습니다.
- signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다.
absolutes sign result [4,7,12] [true,false,true] 9 [1,2,3] [false,false,true] 0
입출력 예 설명입출력 예 #1
- signs가 [true,false,true] 이므로, 실제 수들의 값은 각각 4, -7, 12입니다.
- 따라서 세 수의 합인 9를 return 해야 합니다.
입출력 예 #2
- signs가 [false,false,true] 이므로, 실제 수들의 값은 각각 -1, -2, 3입니다.
- 따라서 세 수의 합인 0을 return 해야 합니다.
초기 코드
class Solution { fun solution(absolutes: IntArray, signs: BooleanArray): Int { var answer: Int = 123456789 return answer } }
의식의 흐름
1. true, false에 따라 부호만 넣어주면 되는 간단한 문제다.
2. 입력값의 길이도 1000개 이하라 메모리 문제도 없을 것 같다.
해결 코드
class Solution { fun solution(absolutes: IntArray, signs: BooleanArray): Int { var sum = 0 signs.forEachIndexed { index, i -> when (i) { true -> sum += absolutes[index] else -> sum -= absolutes[index] } } return sum } }
'Programmers' 카테고리의 다른 글
[프로그래머스] 없는 숫자 더하기 / Kotlin (0) 2022.02.06 [프로그래머스] 2016년 / Kotlin (0) 2022.02.06 [프로그래머스] 숫자 문자열과 영단어 / Kotlin (0) 2022.02.06 [프로그래머스] 로또의 최고 순위와 최저 순위 / Kotlin (0) 2022.02.06 [프로그래머스] 소수 만들기 / Kotlin (0) 2022.02.06 - absolutes의 길이는 1 이상 1,000 이하입니다.