본문 바로가기
알고리즘/SWEA

[SWEA / 원 안의 점 / JAVA]

by KDW999 2023. 5. 9.

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AYcllbDqUVgDFASR 

 

SW Expert Academy

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

swexpertacademy.com

 

문제 접근

처음엔 그림 그려서 규칙이 있는지 찾아보고 그림에 맞춰 연산 작업을 진행했는데 수가 커지니 총 갯수가 안맞더라

그림을 못그려서 오차가 있었던 것 혹은 내가 생각한 방식과 실제 갯수를 구하는 연산에 차이가 있었던 것 같다.

 

문제의 정답률이 이렇게 높은거면 간단히 구하는 공식, 규칙 같은 게 있지 않을까 했는데 

문제에 x*x + y*y <= N*N 이라고 적혀있더라, 이거 혹시 그냥 x, y길이 넣으면 되는 건가하고 풀어보니 그게 맞더라

인덱스의 -부터 시작은 원의 형태라 좌표의 음수 부분도 생각해야하기 때문

 

+ 짱구 한참 돌렸는데 허무하다.

import java.util.*;
import java.io.*;

public class Solution {
	public static void main(String[] args)   {
		Scanner sc = new Scanner(System.in);
		
		int T = sc.nextInt(); // 테케
		
		for(int t=1; t<=T; t++) {
			int N = sc.nextInt(); // 반지름
			int count = 0;
			for(int i = -N; i <= N; i++) { 
				for(int j = -N; j <= N; j++) {
					if( i*i + j*j <= N*N) count++;
				}
			}
			System.out.println("#"+t+" "+ count);
		}
	}
}

댓글