정렬4 [프로그래머스] 요격 시스템 (Java 풀이) 아이디어 - 범위가 배열로 주어지는데, 겹치는 부분을 확인하기 위해 범위의 종료 지점을 작은 순으로 정렬 - 첫 인덱스 부터 시작하여 종료 지점에서 -1 한 값이 다음 인덱스의 범위에 들어가는지 확인, 안 들어가면 해당 요격은 종료되고 새로운 요격 시스템이 추가되는 형식 풀이 import java.util.*; class Solution { public int solution(int[][] targets) { //기본 요격 횟수 1회 int answer = 1; // 인덱스 1의 값이 작은 순으로 정렬하는 람다식 Arrays.sort(targets, (o1, o2) -> { return o1[1]-o2[1]; }); //요격 위치 int aim = 0; for(int[] target : targets){.. 개발/Algorithm 2023. 4. 16. [Java] Array.sort 1차원, 2차원 배열 정렬 1차원 배열 정렬은 import java.util.*; class Solution { public int solution(int[] targets) { Arrays.sort(targets, (i1, i2) -> i2 - i1); 이렇게 정렬이 가능. import java.util.*; class Solution { public int solution(int[][] targets) { int answer = 0; // 인덱스 1의 값이 작은 순으로 정렬하는 람다식 Arrays.sort(targets, (o1, o2) -> { return o1[1]-o2[1]; }); 2차원 배열 정렬은 위 방법을 사용하면 인덱스 1의 값이 작은 순으로 정렬할 수 있다. 만약 조건을 걸고 싶다면? Arrays.sort(ar.. 개발/Java 2023. 4. 16. [Python] 백준 10814번 나이순 정렬 n = int(input()) a = [] for _ in range(n): age,name = map(str,input().split()) age = int(age) a.append((age, name)) a.sort(key=lambda x: x[0]) for i in range(n): #리스트 안의 리스트 깔끔하게 출력하기 print(*a[i],sep=' ') 처음에 그냥 바로 a.append(input().split())으로 받아서 정렬했는데, 그럼 한자리수와 비교가 제대로 안되는 문제가 있어서 정확히 int로 명시해주고 나서 append를 진행했더니 해결되었다. 개발/Algorithm 2021. 11. 11. [Python] 백준 1181번 단어 정렬 import sys n = int(sys.stdin.readline()) a = [] for i in range(n): m = input() if m not in a: a.append(m) c = sorted(a) b = sorted(c, key = len) for i in b: print(i) 개발/Algorithm 2021. 11. 10. 이전 1 다음