Lv 3. 숫자게임
·
Algorithm/Programers
https://school.programmers.co.kr/learn/courses/30/lessons/12987?language=java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr//투포인터 쓰자.// 둘다 정렬해// index a b 변수선언하고// index a 보다 b가 크면 둘다 +1 하고 answer+1// index a 보다 b가 작으면 b만 +1 // b가 B.length 될때까지 ㅇㅇimport java.util.*;class Solution { public int solution(int[] A, int[] B) { in..
Lv 2. 파일명정렬
·
Algorithm/Programers
https://school.programmers.co.kr/learn/courses/30/lessons/17686 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr // head 먼저 (대소구분 X)// number 숫자가 될 수 있게 // tail// 위의조건해당사항없는 동일순서면 들어온순서 그대로 반환해야함// 정렬방식을 변경해야한다.// class Node를 만들고// 만약 string 완전체하나 // number 하나 // tail 하나 이런식으로 하면 어떨까.. // comparable 또는 comparator 를 활용해야할듯// sort를 할때 ..
Lv 3. 등굣길
·
Algorithm/Programers
https://school.programmers.co.kr/learn/courses/30/lessons/42898?language=java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr // 완탐// 상하좌우 Direction[]// 방문체크를 어떻게 할것인가?주된 고민 사항// while 문에서 매번 체크 (끝난건지? 몇개인지)// import java.util.*;// class Solution {// class Node{// int x;// int y;// int distance;// pu..
Lv 3. 단어 변환
·
Algorithm/Programers
https://school.programmers.co.kr/learn/courses/30/lessons/43163?language=java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr// String,boolean 을 받는 Map 을 통해 체크가능// BFS 사용 가능// 시작 단어 start 를 queue에 삽입// 시작단어가 end 단어라면 find true 하고 break// Queue에서 꺼내서 words 가 check 맵을 확인했을때 미방문이고 1개만 다르다면 q에삽입 // 1개 이상 다르다면 pass// import java.util.*;clas..
Lv 3. 야근 지수
·
Algorithm/Programers
https://school.programmers.co.kr/learn/courses/30/lessons/12927?language=java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr//heap 구조 사용하면 될거같다.//priorityqueue//다집어넣고 최대힙 수정//n 떨어질때까지 같은숫자로 만들어주기 //n 떨어지면 얼마가 남았는지 말하기 // 1000000000000// long 범위로 놀자import java.util.*;class Solution { public long solution(int n, int[] works) { ..
Lv 3. 네트워크
·
Algorithm/Programers
https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr// 유니온 파인드// union method => 묶는역할// 0 1 2 3 // [0] [1] [2] [3]// after union 0 1 // 0 1 2 3 // [0] [0] [2] [3]// after union 2 3 // 0 1 2 3 // [0] [0] [2] [2]// after union 1 2 // 0 1 2 3 // [0] [0]..
Lv 3. 정수 삼각형
·
Algorithm/Programers
https://school.programmers.co.kr/learn/courses/30/lessons/43105?language=java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.krimport java.util.*;class Solution { public int solution(int[][] triangle) { // DP 배열을 삼각형의 마지막 행 크기로 초기화 int[] DP = new int[triangle[triangle.length - 1].length]; // 맨 마지막 행을 먼저 DP..
Lv 3. 이중우선순위큐
·
Algorithm/Programers
https://school.programmers.co.kr/learn/courses/30/lessons/42628  프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr// 차례대로 반복문 돌린다.// 들어온 string에 l, D 1 , D -1 의 명령어 분기처리// 최대 최소 priority queue 0과 끝자리 탐색 해서 return || 없으면 0,0 반환// 명령어 분기// I 삽입// D 1 최대 삭제// D -1 최소 삭제import java.util.*;class Solution { private PriorityQueue pq = new P..
Lv 2. 후보키
·
Algorithm/Programers
https://school.programmers.co.kr/learn/courses/30/lessons/42890 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 비트마스킹을 사용하지 않고 조합생성을 DFS를 통해 수작업했을때 시간초과 오류가 수십번나서 비트마스킹을 사용하여 문제를 푸는 방법을 공부하였다.효율성이 엄청나다. 조합짜는시간이 거의 삭제된 느낌import java.util.*;public class Solution { // 가능한 후보키 조합, 맵, 열 길이 private List candidateKeys = new ArrayList();..
Lv 2. 점찍기
·
Algorithm/Programers
https://school.programmers.co.kr/learn/courses/30/lessons/140107 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr// x와 y축으로 1자로 쫙 그리는건 쉽다.// 중요한건 1자로 그린 후 최대값 최솟값을 정해서 싹다 거리재고 d랑비교 해야한다는거 // x축으로 쭉가면서 찍은점들 거리 disList 확보// disList * 2 - 1 이 x,y축 점들 갯수// 즉 answer.// disList 정렬 // disList에서 하나씩 빼가면서 싹다 // 거리비교하고 되면 answer++;// 안되면 continue..