일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Firebase
- 앱출시
- double colon
- 북마크
- Groovy lambda
- Firebase Crashlytics
- 구글 플레이 스토어 출시
- 코딩테스트
- 프로그래머스
- 안드로이드
- 푸시메세지
- sql 소수점제거
- Android App 출시
- 이중콜론
- 파이어베이스 크래시틱스
- android
- 게시 개요
- 파이어베이스
- 개발일지
- Android 앱 출시
- groovy double colon
- 1인개발
- 프로그래머스 수박수박수박수박수박수
- 예약 게시
- 예약 배포
- 알고리즘
- bookmark
- mysql 소수점 함수
- sql truncate
- 그루비 람다
- Today
- Total
Moon_Dev_Blog :)
[프로그래머스] Day4 연산, 조건문 본문
n의 배수
정수 num과 n이 매개 변수로 주어질 때, num이 n의 배수이면 1을 return n의 배수가 아니라면 0을 return하도록 solution 함수를 완성해주세요.
class Solution {
fun solution(num: Int, n: Int): Int {
return if(num % n == 0) 1 else 0
}
}
풀이방법 : n으로 num을 나눠서 나머지가 0일 경우 배수에 해당하기에 나머지 연산 조건을 통해서 해결
공배수
정수 number와 n, m이 주어집니다. number가 n의 배수이면서 m의 배수이면 1을 아니라면 0을 return하도록 solution 함수를 완성해주세요.
class Solution {
fun solution(number: Int, n: Int, m: Int) = if (number % n == 0 && number % m == 0) 1 else 0
}
풀이방법 : n, m 둘다 나머지가 0일 경우의 조건이 공배수임
홀짝에 따라 다른 값 반환하기
양의 정수 n이 매개변수로 주어질 때, n이 홀수라면 n 이하의 홀수인 모든 양의 정수의 합을 return 하고 n이 짝수라면 n 이하의 짝수인 모든 양의 정수의 제곱의 합을 return 하는 solution 함수를 작성해 주세요.
class Solution {
fun solution(n: Int): Int {
var sum = 0
for(i in 1..n) {
if (i % 2 == 0) {
if (n % 2 == 1) continue
sum += (i * i)
} else {
if (n % 2 == 0) continue
sum += i
}
}
return sum
}
}
풀이방법 : i(0부터) n만큼 반복문을 돌면서 n이 짝수일 때 i가 홀수면 continue 시키며 각 조건에 맞는 로직으로 결과값을 도출
조건 문자열
문자열에 따라 다음과 같이 두 수의 크기를 비교하려고 합니다.
- 두 수가 n과 m이라면
- ">", "=" : n >= m
- "<", "=" : n <= m
- ">", "!" : n > m
- "<", "!" : n < m
두 문자열 ineq와 eq가 주어집니다. ineq는 "<"와 ">"중 하나고, eq는 "="와 "!"중 하나입니다. 그리고 두 정수 n과 m이 주어질 때, n과 m이 ineq와 eq의 조건에 맞으면 1을 아니면 0을 return하도록 solution 함수를 완성해주세요.
class Solution {
fun solution(ineq: String, eq: String, n: Int, m: Int): Int {
var answer: Int = 0
val expressions = ineq + eq
when(expressions) {
"<=" -> answer = if (n <= m) 1 else 0
"<!" -> answer = if (n < m) 1 else 0
">=" -> answer = if (n >= m) 1 else 0
">!" -> answer = if (n > m) 1 else 0
}
return answer
}
}
풀이방법 : 문자열을 수식화 하는게 관점인데.. 전달받은 두 개의 문자열을 하나의 문자열로 합친담에 조건에 따라 수식 로직 적용
flag에 따라 다른 값 반환하기
두 정수 a, b와 boolean 변수 flag가 매개변수로 주어질 때, flag가 true면 a + b를 false면 a - b를 return 하는 solution 함수를 작성해 주세요.
class Solution {
fun solution(a: Int, b: Int, flag: Boolean) = if(flag) a+b else a-b
}
풀이방법 : flag 값에 따른 분기 로직 적용
'IT > 알고리즘풀이' 카테고리의 다른 글
[프로그래머스] 전국 대회 선발 고사 (1) | 2024.12.28 |
---|---|
[프로그래머스] 문자열 여러 번 뒤집기 (5) | 2024.12.23 |
[프로그래머스] 피자 나눠 먹기 (2) (0) | 2024.12.21 |
[프로그래머스] 서울에서 김서방 찾기 / Java (0) | 2021.03.01 |
[프로그래머스] 수박수박수박수박수박수? / Java (0) | 2021.02.26 |