일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- DevOps
- 오블완
- docker
- 인간관계론
- 티스토리챌린지
- 스파이닝 탑
- 정처기
- 구동의 아침
- 슬픈 개구리
- pepe the frog
- 유튜브
- 마인드 차이
- 이클립스
- linux
- 가장빨리부자되는법
- rsi 보조지표
- 도커
- PBR
- 노베이스 정처기 공부법
- 마인드 ㅊㅇ
- 유튜브 기초강의
- 유튜브 성공하는법
- 노베이스 정보처리기사 합격법
- 정보처리기사
- 페페
- PER
- 버튜버 목소리 만들기
- PEPE
- voice changer
- 노베이스 정처기
Archives
- Today
- Total
실패는 성공을 위한 밑거름
프로그래머스lv2-삼각 달팽이 본문
문제 설명
정수 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 |
---|