[프로그래머스] 빛의 경로 사이클 (java) 포스팅 썸네일 이미지

알고리즘 & 자료구조/프로그래머스

[프로그래머스] 빛의 경로 사이클 (java)

프로그래머스 lv2 빛의 경로 사이클 자바 풀이 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 요약 2차원 배열 느낌으로 칸이 주어지고 각 칸마다 격자가 있다. 격자에는 빛이 동서남북에서 들어올 수 있다. 격자는 빛을 직진, 좌회전, 우회전 시킬 수 있다. 배열에 있는 모든 격자들에 대한 사이클 수를 구해라 나의 풀이 존재하는 모든 격자들에 대해 시작점으로 설정하고 해당 격자로부터 발생한 사이클을 구할 것이다. 하나의 격자에 대해 사이클을 구할 때 빛의 출처 4가지를 모두 활용해 탐색하여 사이클을 구한다.(동,서,남,북) 예를 들어 좌표 (1,1) ..

2022.10.01 게시됨

[프로그래머스] 스킬트리 (java) 포스팅 썸네일 이미지

알고리즘 & 자료구조/프로그래머스

[프로그래머스] 스킬트리 (java)

프로그래머스 level2 - 스킬트리 자바 풀이 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 요약 스킬을 한 시점에 하나 배울 수 있다. 연계 스킬들 정보가 주어지는데 연계 스킬들은 순서대로만 배울 수 있다. 연계 스킬이 아닌 스킬들은 언제든지 배울 수 있다. 연계 스킬 정보가 "ABC" 면 'C' 를 배우기 위해서는 'A , B' 를 배웠어야만 하는 이런 상태를 만족시켜서 스킬을 배웠는지 여부를 묻고 있다. 문제 풀이 사용자 스킬 스테이터스 저장소가 있다고 생각하고 저장소에 선행 스킬 정보가 있을 경우에만 다음 스킬을 배울 수 있다고 보면 될 것..

2022.08.24 게시됨

[프로그래머스] 파일명 정렬 (java) 포스팅 썸네일 이미지

알고리즘 & 자료구조/프로그래머스

[프로그래머스] 파일명 정렬 (java)

프로그래머스 level2 - 파일명 정렬 자바 풀이 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 요약 파일 문자열 배열 주는데 파일은 영문자와 '.', 공백, '-' 로 구성되는 HEAD 영역과 5자리 이하 숫자로 구성되는 NUMBER 영역, 이외의 부분인 TAIL 영역으로 나눌 수 있다. HEAD -> NUMBER 순서로 오름차순으로 정렬된 파일 목록을 반환해라. 단 HEAD는 대소문자 구별이 없고 NUMBER는 절대적인 수치 기준이다.(00123 == 123) 즉 HEAD 먼저 사전순으로 정렬하고 같으면 숫자 작은 것 부터 정렬해서 반환하라는 ..

2022.08.15 게시됨

[프로그래머스] 파괴되지 않은 건물(java) 포스팅 썸네일 이미지

알고리즘 & 자료구조/프로그래머스

[프로그래머스] 파괴되지 않은 건물(java)

프로그래머스 level3 - 파괴되지 않은 건물 자바 풀이 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 3줄 요약 숫자가 들어있는 N x M 의 행렬이 주어진다. (board) (최대 1000행 1000열) 숫자 상태를 증감시킬 수 있는 특정 크기의 직사각형 정보가 주어진다 (skill).(25만개 이하) [ [증감 여부] , [x시작 좌표], [y시작 좌표], [x 종료 좌표], [y 종료 좌표], [상태 변경 수치] ] skill 다 적용하고 난 뒤 board 에서 0보다 큰 값의 개수를 구하라 나의 풀이 완전탐색 완전탐색으로 풀면 매우 쉬운 ..

2022.07.18 게시됨

[백준] 2447 별 찍기 - 10 (java) 포스팅 썸네일 이미지

알고리즘 & 자료구조/백준

[백준] 2447 별 찍기 - 10 (java)

백준 2447번 별 찍기 - 10 자바 풀이 2447번: 별 찍기 - 10 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 www.acmicpc.net 문제 요약 3의 거듭제곱을 입력으로 준다. 이걸 이용해서 다음과 같은 패턴의 별을 찍는다. 나의 풀이 과정 일단 패턴을 먼저 찾아보았다. 코드상으로는 저렇게 직사각형 처럼 보이지만 결국 모든 프린트된 결과물은 정사각형인데 3,9,... 거듭제곱으로 똑같은 패턴을 지닌 정사각형이다. 3X3 에서는 (2,2) 만 비어있다. 9X9 에서는 3X3 정사각형들을 가지면서 (4,4) ~ (6,6) 정사..

2022.03.13 게시됨

[백준] 5692 팩토리얼 진법 (java) 포스팅 썸네일 이미지

알고리즘 & 자료구조/백준

[백준] 5692 팩토리얼 진법 (java)

백준 5692번 팩토리얼 진법 자바 풀이 5692번: 팩토리얼 진법 상근이는 보통 사람들이 사는 것과는 조금 다른 삶을 사는 사람이다. 상근이는 이런 사람들의 시선이 부담스럽기 때문에, 자신만의 숫자를 개발하기로 했다. 바로 그 이름은 팩토리얼 진법이다. www.acmicpc.net 문제 요약 숫자가 주어진다. 주어진 숫자의 자리에 있는 한자리의 숫자 * 자리위치! 를 모두 더하라 예를 들어 주어진 숫자가 34 면 3 * 2! + 4 * 1! 을 구하는 것이다. 나의 풀이 과정 1. 한 자리의 숫자에 대한 팩토리얼을 구하는 함수를 만든다. 2. 주어진 숫자를 통해 자리 정보 + 그 자리의 한 자리 숫자 를 얻는다. 3. 계산하여 모두 더한다. 자바 풀이 코드 import java.util.Scanner;..

2022.03.05 게시됨

[백준] 3079 입국 심사 (java) 포스팅 썸네일 이미지

알고리즘 & 자료구조/백준

[백준] 3079 입국 심사 (java)

백준 3079번 입국심사 자바 풀이 3079번: 입국심사 첫째 줄에 N과 M이 주어진다. (1 ≤ N ≤ 100,000, 1 ≤ M ≤ 1,000,000,000) 다음 N개 줄에는 각 심사대에서 심사를 하는데 걸리는 시간인 Tk가 주어진다. (1 ≤ Tk ≤ 109) www.acmicpc.net 문제 3줄 요약 여러명의 사람들이 여러개의 입국심사대에서 심사를 받는다. 입국심사대는 각각 정해진 심사 시간이 있다. 가장 빨리 사람들이 모두 입국심사를 받을 수 있는 시간을 구한다. 제약사항 사람은 10억명 이하, 심사대는 10만개 이하, 심사대 하나의 최대시간은 10억초이다. 하나의 케이스당 1초만에 풀어야 하니 딱 봐도 완전탐색으로는 풀지 못한다. 나의 풀이 과정 결국 구해야 하는 답은 걸리는 시간초이다. ..

2022.02.18 게시됨

[Algorithm] BFS & DFS (feat.Java) 포스팅 썸네일 이미지

알고리즘 & 자료구조/Algorithm

[Algorithm] BFS & DFS (feat.Java)

그래프 자료 탐색 방법인 깊이우선탐색(DFS)과 너비우선탐색(BFS)에 대해 공부하고 기록해보자 그래프 정점(Node)과 정점을 연결하는 간선(Edge)으로 구성된 자료구조를 말한다. 특정한 하나의 정점에서는 간선으로 연결된 다른 정점들을 방문할 수 있다. BFS와 DFS는 하나의 정점에서 시작해 그래프의 모든 정점들을 탐색하려할 때의 방법들로 어떤 순서대로 모든 정점들을 방문할지에 차이가 있다. 그래프를 인접 리스트 와 인접 행렬 방법으로 표현할 수 있다. 인접 행렬 방법 int[][] adjArray = new int[n+1][n+1]; for(int i = 0; i < m; i++) { int v1 = sc.nextInt(); int v2 = sc.nextInt(); adjArray[v1][v2] ..

2022.02.15 게시됨