실패는 성공을 위한 밑거름

프로그래머스lv2-삼각 달팽이 본문

devops/프로그래머스

프로그래머스lv2-삼각 달팽이

레드매실 2023. 4. 23. 22:09

문제 설명

정수 n이 매개변수로 주어집니다. 다음 그림과 같이 밑변의 길이와 높이가 n인 삼각형에서 맨 위 꼭짓점부터 반시계 방향으로 달팽이 채우기를 진행한 후, 첫 행부터 마지막 행까지 모두 순서대로 합친 새로운 배열을 return 하도록 solution 함수를 완성해주세요.

 

 

  public int[] solution(int n) {
		int[][] calc = new int [n][n];
		
		int pointx= 0;
		int pointy= 0;
		int value=0;
		int chasu=0;
		
		for (int i = 0; 0 < n; i++) {
			int i2=0;
			
			switch (chasu%3) {
			case 0:
				
				for (i2 = 0; i2 < n; i2++) {
					calc[pointx+i2][pointy] = ++value;
				}
				pointx=pointx+i2-1;
				++pointy;
				
				--n;				
				chasu++;
				
				break;
			case 1:
				
				for (i2 = 0; i2 < n; i2++) {
					calc[pointx][pointy+i2] = ++value;
				}
				pointy=pointy+i2-2;
				--pointx;
				--n;
				chasu++;
				break;
			case 2:
				
				for (i2 = 0; i2 < n; i2++) {
					calc[pointx-i2][pointy-i2] = ++value;
				}
				
				pointx=pointx-i2+2;
				pointy=pointy-i2+1;
				
				--n;
				chasu++;
				
				break;

			default:
				
				break;
			}
			
		}
		
		
		int result[] = new int[value];
		n=0;
		for (int i = 0; i < calc.length; i++) {
			for (int j = 0; j < i+1; j++) {
				
				result[n]=calc[i][j];
				n++;
			}
		}
		
		return result;
    }

하ㅠ

운동해야해 

풀이는 나중에

'devops > 프로그래머스' 카테고리의 다른 글

프로그래머스lv2-타겟넘버  (0) 2023.05.03