[JAVA] 백준 2751번 문제, 수 정렬하기 2
www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 문제에서 중요하게 봐야 할 키워드는 '주어진 입력의 범위는 -1,000,000 ~ 1,000,000인 정수', '수는 중복되지 않는다'입니다. 중복 없이 입력받기 때문에 해당하는 수가 들어왔는지, 아닌지만 판단하면 됩니다. 따라서 크기 200만 인 Boolean 타입의 배열 arr[]를 만들어 값이 들어왔을 경우 True값을 넣어줍니다. 그래서 위의 작업을 첫 번째 for문에서 수행합니다. 두 번째..
[Python] 삼각 달팽이 - 월간 코드 챌린지 시즌1
programmers.co.kr/learn/courses/30/lessons/68645 n=5 그림을 보면 [1, 2, 3, 4, 5], [6, 7, 8, 9], [10, 11, 12], [13, 14], [15] 순으로 배열에 값이 들어가는 것을 확인할 수 있습니다. 즉 5번, n번만큼 작동하면 모든 값이 들어갑니다. 회차마다 들어가는 값은 n - 회차입니다. (회차는 배열이기 때문에 0부터 시작) 하나의 둘레는 3회가 필요하기 때문에 회차 % 3을 통해 방향을 구합니다. (우 -> 하 -> 상이라서 3회) 회차 % 3 == 0이면, 아래로 향하고 회차 % 3 == 1이면, 오른쪽으로 향하고 둘 다 아니면 위로 올라갑니다. 이 논리를 통해 2차원 배열를 꽉 채운 후에 sum(arr, [])를 통해 1차..