Lv 2. 삼각달팽이

2024. 7. 31. 14:45·Algorithm & Data Structures/Programers

 

코드 흐름

  •  위 문제의 규칙은 n각형을 만들때 n번의 반복문을 돈다는 것이다.
  • n이 3인 삼각형이면 123,45,6 으로 3번
  • n이 4인 삼각형이면 1234,567,89,10 으로 4번
  • n이 5인 삼각형이면 12345,6789,101112,1314,15로 5번
  • 즉 for문을 2번돌고 갯수를 줄여나가면 2차원배열에
  • 1         1                    1
  • 26       2   10             2   12
  • 345     3   8   9          3   13  11
  •            4   5   6   7     4   14  15 10
  •                                  5   6     7   8   9
  • 와 같이 저장된다.
  • 이를 ArrayList에 담아 return하였다.
import java.util.*;

class Solution {
    public ArrayList<Integer> solution(int n) {
        ArrayList<Integer> answer = new ArrayList<>();
        int[][] map = new int[n][n];
        int x = -1, y = 0, c = 1;
        for(int i = 0 ; i < n ; i++){
            for(int j = 0 ; j < n - i ; j++){
                if(i%3==0)
                    x+=1;
                else if(i%3==1)
                    y+=1;
                else{
                    x-=1;
                    y-=1;
                }
                map[x][y]=c;
                c++;
            }
        }
        for(int i = 0 ; i < n ; i++){
            for(int j = 0 ; j < n ; j++){
                if(map[i][j]!=0)
                    answer.add(map[i][j]);
                else
                    break;
            }    
        }
        return answer;
    }
}

'Algorithm & Data Structures > Programers' 카테고리의 다른 글

Lv 2. 큰 수 만들기  (0) 2024.08.03
Lv 2. 두 큐 합 같게 만들기  (1) 2024.08.02
Lv 2. 소수찾기  (1) 2024.07.30
Lv 2. 쿼드압축 후 갯수 세기  (0) 2024.07.29
Lv 2. 가장 큰 수  (0) 2024.07.26
'Algorithm & Data Structures/Programers' 카테고리의 다른 글
  • Lv 2. 큰 수 만들기
  • Lv 2. 두 큐 합 같게 만들기
  • Lv 2. 소수찾기
  • Lv 2. 쿼드압축 후 갯수 세기
Geisha
Geisha
개발 일기
  • Geisha
    Geisha
    Geisha
  • 전체
    오늘
    어제
    • 분류 전체보기 (316)
      • Algorithm & Data Structures (238)
        • BOJ (96)
        • SWEA (1)
        • Programers (137)
        • Data Structures (3)
      • DB (25)
        • SQL (19)
        • RDBMS (2)
      • Java (1)
        • Class (1)
      • Spring (5)
        • Spring MVC (1)
        • Annotations (1)
      • CS (36)
        • 운영체제 (13)
        • 네트워크 (5)
      • Tool (6)
        • Git (5)
        • AWS (1)
      • Project (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    경로압축
    이분탐색
    Dijkstra
    다익스트라
    programmers
    dfs
    BFS
    unionfind
    algorithm
    알고리즘
    골드
    dp
    PriorityQueue
    프로그래머스
    Java
    유니온파인드
    DynamicProgramming
    백준
    binarySearch
    스택
    전위순회
    Stack
    투포인터
    백트래킹
    동적계획법
    구현
    Union-Find
    후위순회
    SQL
    baekjoon
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
Geisha
Lv 2. 삼각달팽이
상단으로

티스토리툴바