[Java, Python] 거리두기 확인하기 (2차원배열, 좌표)
·
Coding Test/programmers
https://school.programmers.co.kr/learn/courses/30/lessons/81302 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 입력 가공 String  ➡️ char거리두기 검사모든 좌표에 대해 반복응시자인 경우다음 좌표가 응시자인 경우 false다음 좌표가 빈자리인 경우 옆자리에 응시자가 있는경우 : false이 외의 경우 true import java.util.*;class Solution { // 상좌우하 private static final int[] dx = {0,-1,1,0}; private sta..
[Java] 삼각 달팽이 (2차원배열, 방향)
·
Coding Test/programmers
2023.07.19 - [Coding Test/programmers] - 삼각 달팽이 (리스트 반시계 방향으로 채우기) 삼각 달팽이 (리스트 반시계 방향으로 채우기)프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분석 삼karla.tistory.com import java.util.*;class Solution { public int[] solution(int n) { int[][] triangle = new int[n][n]; int v=1; // 현재수 int r=0; int c=0;..
[Java] 교점에 별 만들기 (2차원배열, 최대사각형, 좌표 배열 전환)
·
Coding Test/programmers
2023.08.09 - [Coding Test/programmers] - [프로그래머스] 교점에 별 만들기 [프로그래머스] 교점에 별 만들기https://school.programmers.co.kr/learn/courses/30/lessons/87377 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는karla.tistory.com import java.util.*;class Solution { public static class Point { public final long x,y; private Point(long x, long y) { t..
자바 우선순위큐(PriorityQueue)
·
Java
//오름차순(우선순위가 낮은 숫자 순) PriorityQueue pq = new PriorityQueue(); //내림차순(우선순위가 높은 숫자 순) PriorityQueue pqHightest = new PriorityQueue(Collections.reverseOrder()); pq.add(1); pq.offer(2); pq.add(3); pq.poll(); // 첫번째 값을 반환하고 제거 비어있다면 null System.out.println(pq); // [2, 3] pqHightest.add(1); pqHightest.add(2); pqHightest.add(3); pqHightest.peek(); // 첫번째 값 참조 3 pqHightest.remove(); // 첫번째 값 제거 System.o..
자바 스트림(Stream), 람다(Lambda)
·
Java
Stream 생성 배열 Arrays 클래스의 static 메소드인 stream()에 배열 인스턴스를 전달 int[] i = {1,2,3,4,5}; IntStream istm = Arrays.stream(i); 컬렉션 컬렉션 인스턴스를 대상으로 디폴트 메소드 stream()을 호출 List s = Arrays.asList("a", "b", "c"); Stream stm = s.stream(); 데이터 직접 전달 Stream클래스 혹은 IntStream 등의 기본 자료형 스트림의 static 메소드인 of()에 stream에 넣고 싶은 데이터들을 전달 Stream istm = Stream.of(1,2,3); IntStream istm = IntStream.of(1,2,3); 중간 연산 filter(Predi..
자바 순열, 조합 구하기 (파이썬 itertools 라이브러리)
·
Java
자바는 파이썬의 itertools 라이브러리 같은 내장함수로 순열, 조합이 없어 직접 구현해야함 n개중에 r개 선택한다는 가정 Depth를 r만큼 재귀 변수 int n, r : n개 중 r개를 뽑음 int[] now : 현재 저장한 list값 인덱스 List result : 결과값 boolean[] visited : 순열 방문 여부 순열 public static void permutation(List list, int depth) { if (depth == r) { List temp = new ArrayList(); for (int i = 0; i < now.length; i++) { temp.add(list.get(now[i])); } result.add(temp); return; } for (int ..