본문 바로가기

Algorithm

(21)
DFS / BFS [ 인접행렬과 인접리스트 ] - 인접행렬 : 정점 int[][] a = new int[n + 1][n + 1]; for (int i = 0; i < m; i++) { int v1 = sc.nextInt(); int v2 = sc.nextInt(); a[v1][v2] = 1; a[v2][v1] = 1; } 인접행렬은 정점(V)이 n개일때 N*N 이차원 배열로 나타낼수 있고 일반적으로 a라고 이름을 짓는다. a[1][5] = 1 의 의미는 정점 1과 정점 5의 간선이 연결되어 있다는 뜻이다.(무방향이기에 a[5][1]도 1) 인접행렬의 값이 1이라면, 정점간의 간선이 존재한다는 것이고, 0이라면 존재하지 않는다는 것이다. (현재는 가중치가 없지만, 가중치를 넣을 때는 1 대신 가중치를 넣으면 됨) - 인접리..
[Lv 1] 2016년 / JAVA 문제 [ 문제 설명 ] 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT 입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 TUE를 반환하세요. [ 제한 조건 ] 2016년은 윤년입니다. 2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다) 풀이 더보기 class Solution { public String solution(int a, int b) { String answer = ""; String..
[Lv 1] 정수 제곱근 판별 / JAVA 문제 [ 문제 설명 ] 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. [ 제한 사항 ] n은 1이상, 50000000000000 이하인 양의 정수입니다. 풀이 더보기 import java.util.*; class Solution { public long solution(long n) { // n이 1일때는 2*2인 4를 반환해준다 if(n==1){ return 4; } // n이 4인경우를 대비해서 i
[Lv 1] 정수 내림차순으로 배치하기 / JAVA 문제 [ 문제 설명 ] 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. [ 제한 조건 ] n은 1이상 8000000000 이하인 자연수입니다. 풀이 더보기 import java.util.*; class Solution { public long solution(long n) { long answer = 0; String a = ""; a += n; char[] arr = new char[a.length()]; // 잘라서 배열에 넣기 for (int i = 0; i < arr.length; i++) { arr[i] = a.charAt(i); } // 내림차순 정..
[Lv 1] 크레인 인형뽑기 게임 / JAVA 문제 [ 문제 설명 ] 게임개발자인 죠르디는 크레인 인형뽑기 기계를 모바일 게임으로 만들려고 합니다. 죠르디는 게임의 재미를 높이기 위해 화면 구성과 규칙을 다음과 같이 게임 로직에 반영하려고 합니다. 게임 화면은 1 x 1 크기의 칸들로 이루어진 N x N 크기의 정사각 격자이며 위쪽에는 크레인이 있고 오른쪽에는 바구니가 있습니다. (위 그림은 5 x 5 크기의 예시입니다). 각 격자 칸에는 다양한 인형이 들어 있으며 인형이 없는 칸은 빈칸입니다. 모든 인형은 1 x 1 크기의 격자 한 칸을 차지하며 격자의 가장 아래 칸부터 차곡차곡 쌓여 있습니다. 게임 사용자는 크레인을 좌우로 움직여서 멈춘 위치에서 가장 위에 있는 인형을 집어 올릴 수 있습니다. 집어 올린 인형은 바구니에 쌓이게 되는 데, 이때 바..