반응형
SW Expert Academy의 문제를 풀고싶으시다면 링크를 눌러주세요.
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
그렇게 작성을 하여 제출하니 정답이 나왔습니다!
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);
}
}
}
궁금하신 부분이나 부족한 점은 댓글로 알려주시면 감사하겠습니다.
'알고리즘 > 구현' 카테고리의 다른 글
BJ_B2_15552_빠른A+B - Java (0) | 2022.01.20 |
---|---|
SWEA(SW EXPERT ACADEMY) - 1954번 : 달팽이 숫자 - JAVA (0) | 2021.01.21 |
BOJ(백준알고리즘) - 10872번 : 팩토리얼 - JAVA (2) | 2021.01.19 |
BOJ(백준알고리즘) - 15963번 : CASIO - JAVA (0) | 2021.01.18 |
BOJ(백준알고리즘) - 5532번 : 방학 숙제 - JAVA (0) | 2021.01.18 |
댓글