본문 바로가기

Java70

[Java] 프로그래머스 [Level-3] 등대 첫 시도에서 런타임 에러가 발생해 다른 방법으로 풀이하였다. import java.util.HashSet; public class Solution { // 등대 public static int solution(int n, int[][] lighthouse) { int answer = 0; int[] linkedCntArr; // 각 등대에 연결된 등대의 수를 입력받기 위한 배열 HashSet edgeHs = new HashSet(); // 가장자리(둘레나 끝에 해당되는 부분)에 위치한 등대의 번호를 담을 HashSet HashSet turnOnHs = new HashSet(); // 가장자리(둘레나 끝에 해당되는 부분)에 위치한 등대와 연결된, 반드시 켜야 하는 등대의 번호를 담을 HashSet int[.. 2022. 11. 27.
[Java] PCCP 모의고사 1회 문제 풀이 정답 [Java] PCCP 모의고사 1회 외톨이 알파벳 : https://dev-skill.tistory.com/15 [Java] PCCP 모의고사 1회 외톨이 알파벳 import java.util.*; public class PccpTest1_1 { // PCCP 모의고사 1회 1번 외톨이 알파벳 public static String solution(String input_string) { String answer = ""; char tempChar; int tempCnt = 0; int repeatCnt = 0; Queue q = new LinkedList(); HashMa dev-skill.tistory.com [Java] PCCP 모의고사 1회 체육대회 : https://dev-skill.tistory.. 2022. 11. 26.
[Java] PCCP 모의고사 1회 운영체제 import java.util.PriorityQueue; public class PccpTest1_4 { // PCCP 모의고사 1회 4번 운영체제 public static long[] solution(int[][] program) { long[] answer = {}; long callTime = 0; // OS 호출 시각 int runningTime = 0; // OS 수행 시간 long totalRunningTime = 0; // 전체 OS 종료까지 총 소요 시간 long blankTime = 0; // OS가 실행중이지 않은 시간 answer = new long[11]; // 크기 11 고정 // STEP 1. ORDER BY 호출 시각, 점수인 우선순위 큐 만들기(전체 OS 담을 우선순위 큐) .. 2022. 11. 26.
[Java] PCCP 모의고사 1회 유전법칙 public class PccpTest1_3 { // PCCP 모의고사 1회 3번 유전법칙 public static String solve(int generation, long number) { long upperCaseLastNum = 0; long centerGroupLastNum = 0; String strRoot = "Rr"; long tempNum = 0; if (generation == 1) { return strRoot; } upperCaseLastNum = (long) Math.pow(4, generation - 2); centerGroupLastNum = upperCaseLastNum + (2 * upperCaseLastNum); if (number "RR", "Rr", "Rr", "rr.. 2022. 11. 26.
[Java] PCCP 모의고사 1회 체육대회 public class PccpTest1_2 { // PCCP 모의고사 1회 2번 체육대회 static int answer = 0; // 최대값 담을 answer 변수 static boolean[] selectStudentNumArr; // 대표로 뽑힌 학생인지 확인을 위한 boolean 배열 static int studentCnt = 0; // 총 학생 수 static int sportsCnt = 0; // 총 종목 수 public static void dfs(int depth, int sum, int[][] ability) { // 종목 index, 합계 점수, 학생별 능력치가 담긴 배열 if (depth == sportsCnt) { // 세 번째 종목 점수까지 합산된 후라면 answer = Math.. 2022. 11. 26.
[Java] PCCP 모의고사 1회 외톨이 알파벳 import java.util.*; public class PccpTest1_1 { // PCCP 모의고사 1회 1번 외톨이 알파벳 public static String solution(String input_string) { String answer = ""; char tempChar; int tempCnt = 0; int repeatCnt = 0; Queue q = new LinkedList(); HashMap originHm = new HashMap(); HashMap repeatChkHm = new HashMap(); ArrayList list = new ArrayList(); for (int i = 0; i < input_string.length(); i++) { q.offer(input_str.. 2022. 11. 26.
[Java] 프로그래머스 [Level-2] 땅따먹기 public class Solution { // 땅따먹기 public static int solution(int[][] land) { int answer = 0; int[][] sumArr = new int[land.length][land[0].length]; sumArr = land; for (int i = 1; i < land.length; i++) { // 행 for (int j = 0; j < 4; j++) { // 열 int max = sumArr[i][j]; // 비교 대상 행의 열 값을 max로 지정 for (int z = 0; z < 4; z++) { // 비교 열 if (j == z) { // 같은 행에선 비교x continue; } if (max < sumArr[i - 1][z] + l.. 2022. 11. 25.
[Java] 프로그래머스 [Level-1] 이상한 문자 만들기 public class Solution { // 이상한 문자 만들기 public static String solution(String s) { String answer = ""; StringBuilder sb = new StringBuilder(); int checkNum = 0; for (int i = 0; i < s.length(); i++) { if (s.charAt(i) == ' ') { sb.append(s.charAt(i)); checkNum = 0; // 공백일 경우 홀수 대문자화 초기화 continue; } if (checkNum % 2 == 0) { // 대문자의 대상 sb.append(String.valueOf(s.charAt(i)).toUpperCase()); checkNum++; }.. 2022. 11. 25.
[Java] Equals & HashCode == : 동일성 비교(객체 인스턴스의 주소 값을 비교) equals() : 동등성 비교(객체 내부의 값을 비교) hashCode() : 객체의 메모리 번지를 이용해서 해시코드를 만들고 그 값을 리턴(객체마다 다른 값을 가지고 있다.) hashCode()를 사용하는 이유 중 하나는, 객체를 비교할 때 드는 비용을 낮추기 위함이다. 자바에서 2개의 객체가 같은지 비교할 때 equals()를 사용하는데, 여러 객체를 비교할 때 equals()를 사용하면 Integer를 비교하는 것에 비해 많은 시간이 소요된다. hashCode() 메소드를 실행하여 리턴된 해시코드 값이 다르면 다른 객체로 판단하고, 해시코드 값이 같으면 equals() 메소드로 두 객체를 다시 비교한다. 즉, 여러 객체의 동등성 비교를 할 때.. 2022. 11. 25.