기몽수
코딩 기록일지
기몽수
전체 방문자
오늘
어제
  • 분류 전체보기 (443)
    • 알고리즘 - SWEA (210)
      • D1 (19)
      • D2 (25)
      • D3 (143)
      • D4 (21)
      • D5 (2)
    • 알고리즘 - Programmers (74)
      • Unrated (34)
      • Lv 0 (4)
      • Lv 1 (3)
      • Lv 2 (32)
      • Lv 3 (1)
    • 알고리즘 - Baekjoon (158)
      • Bronze (1)
      • Silver (65)
      • Gold (90)
      • Platinum (2)
    • 취업 (0)
    • SSAFY (1)
hELLO · Designed By 김용수.
기몽수

코딩 기록일지

알고리즘 - Programmers/Unrated

[unrated] 홀짝에 따라 다른 값 반환하기 - 181935

2023. 8. 4. 16:19

문제 링크

성능 요약

메모리: 73.2 MB, 시간: 1.13 ms

구분

코딩테스트 연습 > 코딩 기초 트레이닝

채점결과

Empty

문제 설명

양의 정수 n이 매개변수로 주어질 때, n이 홀수라면 n 이하의 홀수인 모든 양의 정수의 합을 return 하고 n이 짝수라면 n 이하의 짝수인 모든 양의 정수의 제곱의 합을 return 하는 solution 함수를 작성해 주세요.


제한사항
  • 1 ≤ n ≤ 100

입출력 예nresult
7 16
10 220

입출력 예 설명

입출력 예 #1

  • 예제 1번의 n은 7로 홀수입니다. 7 이하의 모든 양의 홀수는 1, 3, 5, 7이고 이들의 합인 1 + 3 + 5 + 7 = 16을 return 합니다.

입출력 예 #2

  • 예제 2번의 n은 10으로 짝수입니다. 10 이하의 모든 양의 짝수는 2, 4, 6, 8, 10이고 이들의 제곱의 합인 22 + 42 + 62 + 82 + 102 = 4 + 16 + 36 + 64 + 100 = 220을 return 합니다.

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges

 
import java.util.stream.*;

class Solution {
    public int solution(int n) {
        // Stream으로 
        if(n%2 != 0){
            return IntStream.rangeClosed(1,n).filter(i ->i % 2 != 0).sum();    
        }else{
            return IntStream.rangeClosed(1,n).filter(i ->i % 2 == 0).reduce(0,(a,b)-> a += b * b);    
        }
        
    }
}

'알고리즘 - Programmers > Unrated' 카테고리의 다른 글

[unrated] 특별한 이차원 배열 1 - 181833  (0) 2023.09.06
[unrated] 카운트 다운 - 181899  (0) 2023.08.12
[unrated] 등차수열의 특정한 항만 더하기 - 181931  (0) 2023.08.08
[unrated] 더 크게 합치기 - 181939  (0) 2023.08.03
[unrated] 대소문자 바꿔서 출력하기  (0) 2023.07.29
    '알고리즘 - Programmers/Unrated' 카테고리의 다른 글
    • [unrated] 카운트 다운 - 181899
    • [unrated] 등차수열의 특정한 항만 더하기 - 181931
    • [unrated] 더 크게 합치기 - 181939
    • [unrated] 대소문자 바꿔서 출력하기
    기몽수
    기몽수

    티스토리툴바