알고리즘/구현

SWEA(SW Expert Academy) - 1986번 : 지그재그 숫자 - JAVA

naksnaks 2021. 1. 19.
반응형

SW Expert Academy의 문제를 풀고싶으시다면 링크를 눌러주세요.

 

https://swexpertacademy.com/

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

[문제]

1부터 N까지의 숫자에서 홀수는 더하고 짝수는 뺐을 때 최종 누적된 값을 구하는 문제입니다.


[풀이]

이 문제는 몇가지 예시를 대입해보면 더 쉽게 풀리는 문제입니다.

총 6개의 예시를 들어서 보여드리겠습니다.

 

N이 1일 경우,

1 = 1

N이 2일 경우,

1 - 2 = -1

N이 3일 경우,

1 - 2 + 3 = 2

N이 4일 경우,

1 - 2 + 3 - 4 = -2

N이 5일 경우,

1 - 2 + 3 - 4 + 5 = 3

N이 6일 경우,

1 - 2 + 3 - 4 + 5 - 6 = -3

입니다.

 

이로 인하여 유추해볼 수 있는 방법은 바로

N이 홀수일 경우 (N+1) / 2

N이 짝수일 경우 (N/2) - N

그렇게 작성을 하여 제출하니 정답이 나왔습니다!

 

 

SW Expert Academy 알고리즘 1986번 JAVA풀이

 

 

import java.util.Scanner;
import java.io.FileInputStream;

class Solution
{
	public static void main(String args[]) throws Exception
	{

		Scanner sc = new Scanner(System.in);
		int T;
		T = sc.nextInt();


		for (int test_case = 1; test_case <= T; test_case++)
		{
			int temp = sc.nextInt();
			if (temp % 2 == 1) {
				temp = (temp + 1) / 2;
			}
			else {
				temp = temp / 2 - temp;
			}
			System.out.printf("#%d %d\n", test_case, temp);
		}
	}
}

 

 

 

궁금하신 부분이나 부족한 점은 댓글로 알려주시면 감사하겠습니다.

 

 

반응형

댓글

💲 추천 글