SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
D2문제를 풀다가 마주한 달팽이 처음에 어떻게 구현을 해야할지 몰라서 다른 블로그를 참고해서 곰곰히 생각하니깐 괜찮았다.
import java.util.Scanner;
import java.io.FileInputStream;
class Solution
{
public static void main(String args[]) throws Exception
{
int[] dy={1,0,-1,0};
int[] dx={0,1,0,-1};
Scanner sc = new Scanner(System.in);
int T;
T=sc.nextInt();
for(int test_case = 1; test_case <= T; test_case++)
{
int num=1;
int x=0,y=0,dir=0;
int n=sc.nextInt();
int map [][] =new int[n][n];
while(num<=(n*n)){
map[x][y]=num++; //하나씩 증가시키기 이제 상하좌우로 이동 먼저 오른쪽에서 왼쪽으로
x+=dx[dir];
y+=dy[dir];
if(x>n-1||x<0|| y > n-1 || y < 0 || map[x][y] != 0){ //범위 밖이거나 값이 저장되었을 경우 방향을 바꿔준다.
x-=dx[dir]; //왔던거 되돌아 가주고
y-=dy[dir];
dir=(dir+1)%4; // 방향 체인지
x+=dx[dir]; // 방향으로 이동
y+=dy[dir];
}
}
System.out.println("#"+test_case);
for(int i = 0; i < n; i++) {
for(int j = 0; j < n; j++) {
System.out.print(map[i][j] + " ");
}
System.out.println();
}
}
}
}
내가 참고하려고 만든 코드 버전
import java.util.*;
import java.io.*;
class Solution
{
public static void main(String args[]) throws Exception
{
StringBuilder sb=new StringBuilder();
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int [] day = {0,31,28,31,30,31,30,31,31,30,31,30,31};
int T=Integer.parseInt(br.readLine());
for(int test_case = 1; test_case <= T; test_case++)
{
StringTokenizer st=new StringTokenizer(br.readLine());
int x1=Integer.parseInt(st.nextToken());
int x2=Integer.parseInt(st.nextToken());
int y1=Integer.parseInt(st.nextToken());
int y2=Integer.parseInt(st.nextToken());
int sum=0;
for(int i=x1; i<y1; i++){
sum+=day[i];
}
sum+=(y2-x2+1);
sb.append("#").append(test_case).append(" ").append(sum);
sb.append("\n");
}
System.out.print(sb.toString());
}
}

'알고리즘 > 삼성 SW expert Academy' 카테고리의 다른 글
[SWEA] 1204. [S/W 문제해결 기본] 1일차 - 최빈수 구하기_JAVA (0) | 2022.05.12 |
---|---|
[SWEA] 1288. 새로운 불면증 치료법_JAVA (0) | 2022.05.11 |
[SWEA] 1961. 숫자 배열 회전_JAVA (0) | 2022.05.07 |
[SWEA] 1970. 쉬운 거스름돈_JAVA (0) | 2022.05.07 |
[SWEA] 1974. 스도쿠 검증_JAVA (0) | 2022.05.07 |