문제풀이 245

[JAVA] Pro 우박수열 정적분

문제 https://school.programmers.co.kr/learn/courses/30/lessons/134239 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import java.util.*; class Solution { public ArrayList solution(int k, int[][] ranges) { ArrayList answer=new ArrayList(); // key: 우박 그래표 x좌표, value: 우박 그래표 y좌표 Map map=new HashMap(); int idx=0; map.put(0,k); while(k!..

문제풀이/기타 2023.07.21

[JAVA] 백준 22233 가희와 키워드

문제 https://www.acmicpc.net/problem/22233 22233번: 가희와 키워드 1번째 글을 쓰고 난 후에, 메모장에 있는 키워드는 set, floyd, os가 됩니다. 2번째 글을 쓰고 난 후에, 메모장에 있는 키워드는 set, os가 됩니다. map은 1번째 글과 2번째 글에 중복으로 등장하였음을 www.acmicpc.net 코드 import java.util.*; import java.io.*; public class b22233 { public static void main(String[] args) throws IOException { BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); String..

문제풀이/기타 2023.07.20

[JAVA] Pro 숫자 카드 나누기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/135807?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 class Solution { // 유클리드 호제법 public int gcd(int a, int b){ int r; while(b!=0){ r=a%b; a=b; b=r; } return a; } public int solution(int[] arrayA, int[] arrayB) { int answer = 0; int tempA=arrayA[0]; // ar..

문제풀이/기타 2023.07.20

[JAVA] Pro 귤 고르기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/138476?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import java.util.*; class Solution { public int solution(int k, int[] tangerine) { int answer=0; // key 귤의 크기, value 같은 크기 귤의 개수 Map map=new HashMap(); for(int t: tangerine){ if (map.containsKey(t)){ in..

문제풀이/기타 2023.07.19

[JAVA] [스택] Pro 뒤에 있는 큰 수 찾기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/154539?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import java.util.*; class Solution { public int[] solution(int[] numbers) { int[] answer=new int[numbers.length]; Arrays.fill(answer, -1); Stack stack=new Stack(); for(int i=0; i

문제풀이/기타 2023.07.17

[JAVA] [그리디] Pro 디펜스 게임

문제 https://school.programmers.co.kr/learn/courses/30/lessons/142085?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import java.util.*; class Solution { public int solution(int n, int k, int[] enemy) { // 무적권의 수가 적 배열 길이보다 클 때 if(k>enemy.length){ return enemy.length; } int answer = k-1; PriorityQueue pq=new PriorityQ..

[JAVA] [구현] Pro 테이블 해시 함수

문제 https://school.programmers.co.kr/learn/courses/30/lessons/147354?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import java.util.*; class Solution { public int solution(int[][] data, int col, int row_begin, int row_end) { int answer = 0; Arrays.sort(data, (o1,o2) -> { return o1[col-1]==o2[col-1] ? o2[0]-o1[0] : o..

문제풀이/구현 2023.07.11

[JAVA] Pro 유사 칸토어 비트열

문제 https://school.programmers.co.kr/learn/courses/30/lessons/148652?language=java# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 class Solution { // 1~k번째 까지 1이 몇개 존재하는지 public long cal(int n, long k){ long temp=0; long pre=0; for(int i=n; i>=0; i--){ long t=k/(long)Math.pow(5,i); k-=t*(long)Math.pow(5,i); if(pre==2) continue; p..

문제풀이/기타 2023.07.10

[JAVA] [그리디] Pro 마법의 엘리베이터

문제 https://school.programmers.co.kr/learn/courses/30/lessons/148653?language=java 코드 class Solution { public int cal(int[] arr, int i){ if(arr[i]==10){ arr[i-1]+=1; arr[i]=0; } // 현재 값이 4이하이면 그대로 return if(arr[i]=5){ arr[i-1]+=1; return 10-arr[i]; } else{ return arr[i]; } } // 현재 값이 6이상이면 10-현재 값 return else{ arr[i-1]+=1; return 10-arr[i]; } } public int solution(int storey) { int answer = 0; St..

[JAVA] [구간합] 백준 11660 구간 합 구하기 5

문제 https://www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net 코드 import java.util.*; import java.io.*; public class b11660 { public static int cal(int[][] result, int x1, int y1, int x2, int y2){ return result[x2][y2]-result[x2][y1-1]-result[x1-1][y2]+result..

문제풀이/기타 2023.07.09