본문 바로가기

반응형

Algorithm

(105)
[SWEA] 1983. 조교의 성적 매기기 D2 JAVA 문제 이해 더보기 아이디어 더보기 코드 import java.io.*; import java.util.*; class Pair { public double sum; public int index; public Pair() {} public Pair(double sum, int index) { this.sum = sum; this.index = index; } } public class Solution { static String[] grade = { "A+", "A0", "A-", "B+", "B0", "B-", "C+", "C0", "C-", "D0" }; public static void main(String[] args) throws Exception { BufferedReader br = new ..
[SWEA] 1979. 어디에 단어가 들어갈 수 있을까 D2 JAVA 문제 이해 더보기 아이디어 더보기 코드 import java.util.*; public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int t = sc.nextInt(); for (int tc = 1; tc = 1 && arr[i][j] == 0) { if(cnt == k) totalCnt++; cnt = 0; } } if(cnt == k) totalCnt++; cnt = 0; } // 열 검사 for (int j = 0; j = 1 ..
[SWEA] 1976. 시간 덧셈 D2 JAVA 문제 이해 더보기 아이디어 더보기 코드 import java.util.*; public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int T = sc.nextInt(); for (int tc = 1; tc 59) { m3 -= 60; h3++; } while (h3 > 12) { h3 -= 12; } System.out.printf("#%d %d %d\n", tc, h3, m3); } } } 집사는개발자가되고파 choppadontbiteme.tistory.com
[BOJ] 14502. 연구소 G5 JAVA 문제 이해 - 배열의 값 0 (빈칸), 1 (벽), 2 (바이러스)으로 나누어진다. - 바이러스는 4방 ( 상/하/좌/우 )으로 이동한다. - 벽은 3개가 있으며, 3개 모두다 세워야한다. - 안전영역은 벽으로 둘러쌓여있는 안쪽 영역이다 - 안전영역의 최대 값을 구하자. 아이디어 일단 코드 흐름을 잡아보았다. 1. 벽 3개를 랜덤하게 세우고,,,(그 위치는 빈칸이어야한다) 2. 바이러스를 퍼뜨리고 3. 안전지대 영역을 세고 4. Max값을 갱신해주고. 이거를 벽을 세우는 경우의 수 만큼 반복하면 될 것 같았다. 프로세스야 그렇다 쳐도.. 1번에서 고민이 좀많았는데 결국은 nCr로 풀어야겠다고 생각을 해냈고, 조합으로 랜덤한 3개의 인덱스를 뽑아낸다.( r은 어차피 벽이 3개로 고정되어있다. ) 근데 또!..
[SWEA] 1974. 스도쿠 검증 D2 JAVA 문제 이해 더보기 아이디어 더보기 1. 가로 검사 2. 세로 검사 3. 블록 검사 코드 import java.io.*; import java.util.*; public class Solution { static int[][] sdoku; // 스도쿠 값을 담을 배열 static final int N = 9; // 스도쿠의 길이 static final int total = 45; // 1~9 더하면 45 static final int[] di = {-1,-1,-1,0,0,0,1,1,1}; // 8방 static final int[] dj = {-1, 0,1,-1,0,1,-1,0,1}; public static void main(String[] args) throws Exception { BufferedRe..
[SWEA] 1961. 숫자 배열 회전 D2 JAVA 문제 이해 더보기 아이디어 더보기 아이디어 위 와 같은 숫자열이 담긴 배열을 각각 90/180/270도로 돌려야 한다. 1. 가장 먼저 각 각도별로 인덱스 값을 적어 보았다. 2. 항상 맨 0번 '열'의 최하단 '행'에서 최상단'행'으로 올라가면 다음 각도의 1행의 0번 열, 1번 열, 2번 열 ,,,, n번 열의 원소가 된다는 점을 발견 3. 2번을 1번하면 90도, 2번하면 180도, 3번하면 270도 라는 걸 확인. 코드 import java.io.*; import java.util.*; public class Solution{ static int[][] base; // 원본 배열 static int[][] after; // 임시 배열 static String[][] show; static int ..

반응형