프로그래머스lv 2 7

행렬의 곱셈

🧫 문제 분석✔️ 출처행렬의 곱셈 level 2📖 문제arr1 x arr2 = arr3axn * nxb = axb인 행렬이 생긴다.🔅 문제 풀이class Solution { public int[][] solution(int[][] arr1, int[][] arr2) { int[][] answer = new int[arr1.length][arr2[0].length]; for (int i = 0; i arr1 = [[1,2],[7,8]] arr2 =[[3,5],[4,6]]answer[i][j] = Carr1[i][k] = [1,2]arr2[k][j] = [3][4]i는 answer와 arr1의 행을 가리킨다.j는 arr2의 열을 가리킨다. [1,2] 가 1열..

programmers/Lv 2 2024.06.27

n^2 배열 자르기

🧫 문제 분석✔️ 출처n^2 배열 자르기 level 2📖 문제nxn크기의 2차원 배열을 i행 i열에 i 값을 넣는다.123223333이런식으로그다음 각 행을 모두 이어붙이고 left~right까지만 배열로 반환🔅 문제 풀이class Solution { public int[] solution(int n, long left, long right) { int[] answer = new int[(int)(right-left+1)]; for (int i = 0; i 1차시도때 2차원 배열 만들고 값을 하나씩 넣은다음 그 중에서 left~right 배열을 반환하려 했으나 보면 알겠지만 n의 값이 최대 10^7이고 right - left 는 10^5 미만이다. 2차원..

programmers/Lv 2 2024.06.27

H-Index

🧫 문제 분석✔️ 출처H-Index level 2📖 문제 문제를 잘 못 이해해서 삽질했다.n편 중 h 번 이상 인용된 논문이 h편 이상이고,나머지 논문은 개수에 상관없이 h 번 이하 인용되었다면 h의 최댓값이 H-Index이다. 🔅 문제 풀이import java.util.Arrays;class Solution { public int solution(int[] citations) { Arrays.sort(citations); int max = 0; // i = 논문 인용 횟수 for (int i = 0; i 흠.. 느리다.프로그래머스 좋아요 1등 풀이import java.util.*;class Solution { public ..

programmers/Lv 2 2024.06.27

영어 끝말잇기

🧫 문제 분석✔️ 출처영어 끝말잇기 level 2📖 문제 핵심말 그대로 끝말잇기이며 앞 뒤 문자가 이어지는 지 확인중복 단어 불가🔅 문제 풀이import java.util.*;class Solution { // 1번 부터 순서대로 한사람씩 단어 // 마지막 다음 1번부터 다시시작 // 마지막 문자로 시작하는 단어 // 중복 단어 불가 // 한 글자 불가 public int[] solution(int n, String[] words) { Map map = new HashMap(); char lastWord = words[0].charAt(0); for (int i = 0; i 다른사람풀이를 보며난 왜 M..

programmers/Lv 2 2024.06.27

카펫

🧫 문제 분석✔️ 출처카펫 level 2📖 문제핵심가로 길이 >= 세로길이가로 세로 길이를 구하되 갈색과 노란색의 개수가 맞아야함🔅 문제 풀이좀 이상하게 풀었는데우선 가로 세로를 찾기위해 약수를 구한다. 약수가 가로 세로가 된다.약수를 check 메서드에 넘긴다.check 메서드는가로가 위아래로 2개 있으므로 가로 길이 x 2를 해준 다음 전체 갈색개수에서 빼준다.이를 2로 나누면 사각형에서 양 옆의 개수가 된다.위 예시와 같이 4 / 2 = 2 세로 옆구리가 2다.이 값이 매개변수로 넘어온 약수로 찾은 가로세로중 세로 길이 - 2 한 값보다 작거나 같으면정상적으로 사각형이 성립된다.만약 옆구리가 2 고 약수로 찾은 세로가 1이면 갈색이 1 남는다.. 이러면 아닌 것이다.class Solution ..

programmers/Lv 2 2024.06.27

JadenCase 문자열 만들기

🧫 문제 분석✔️ 출처JadenCase 문자열 만들기 level 2📖 문제핵심공백문자가 연속해서 나올 수 있다.첫 문자는 대문자 그외에는 소문자🔅 문제 풀이처음 시도import java.util.*;class Solution { public String solution(String s) { s += "#"; String[] str = s.split(" "); char temp; String answer = ""; for (int i = 0; i 매우 부끄럽게도 왜 안되지 이해를 못했는데 직접 테스트 케이스를 만들다가 알게되었다...if문에서 temp가 소문자일 때는 대문자로 바꾸고 뒤에 것을 to..

programmers/Lv 2 2024.06.27

PCCP 기출문제 2번 석유시추

🧫 문제 분석✔️ 출처프로그래머스 PCCP 기출문제 2번 / 석유 시추📖 문제 핵심그래프 bfs or dfs을 사용하여 각 석유 덩어리에 개수를 따로 저장하고 번호를 매긴다. 각 열이 어떤 번호를 가졌는지 저장한다음 반복문으로 각 열을 돌아서 가진 번호에 대한 석유 덩어리 개수들을 뽑아서 최대값을 찾는다.🔅 문제 풀이row = 깊이col = 1 2 3 4 .. 등 시추할 위치 열import java.util.*;class Solution { private static int[][] graph; private static int[] upDown = {0, 0, 1, -1}; private static int[] leftRight = {1, -1, 0, 0}; public int ..

programmers/DFS-BFS 2024.06.27