Algorithm/programmers
프로그래머스 두 큐 합 같게 만들기 java//Queue pop==poll push==offer, 그리디
https://school.programmers.co.kr/learn/courses/30/lessons/118667 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr * 문제해결과정 1. 관찰 2. 항상 큐의합이 많은곳에서 적은곳으로 옮겨야한다. 3. 옮기다보면 언젠가는 정답이되고 , 그때의 정답의 최적해이지 않을까? (그리디) 4. 단, 불가능한경우의 종료조건을 찾아야한다. 종료조건 : 총 pop을 4*n(큐의크기)번만큼 햇는데도 못찾은경우 [1,2,3,4] 에서 pop 을 4번-> [ 빈 칸 ] 다시 pop되서 옴 -> [1,2,3,4] (8번) -> 1..
프로그래머스 자연수 뒤집어 배열로 만들기 java// str[i]안됨 str.charAt 사용 , List to intArray , list.toArray는 래퍼만사용가능 , Long.toString, str to int valueOf vs parseInt
https://school.programmers.co.kr/learn/courses/30/lessons/12932 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr *Long.toString Long.toString(값) String s=Long.toString(n); ※ 자바 : String S가 대문자임에 주의. * str to int Integer.parseInt(문자열) String str = "25"; try{ int number = Integer.parseInt(str); System.out.println(number); // output = 25..
프로그래머스 성격 유형 검사하기 자바 JAVA//HashMap m.getOrDefault(key,기본값) , 맵출력방법 m.forEach
https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr * HashMap m.getOrDefault(key,기본값) key에 해당하는 값이있다면 값반환, 없으면 기본값반환. *맵출력방법 m.forEach //맵 출력방법 m.forEach((key, value) -> { System.out.println(key + " : " + value); }); * 의사코드 1. 반복문돌면서 경우의수에 따라 map[Key]에 점수카운팅 2. 카운팅에 따라 점수가 ..
프로그래머스 로또의 최고 순위와 최저 순위 Java
코딩테스트 연습 - 로또의 최고 순위와 최저 순위 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr * 의사코드 //1.당첨몇개인지검사 == 최소순위 //2.남은갯수를 모두 당첨으로 간주 == 최대순위 import java.util.*; class Solution { public int[] solution(int[] lottos, int[] win_nums) { int[] answer = new int[2]; Arrays.sort(lottos); Arrays.sort(win_nums); //1.당첨몇개..
프로그래머스 실패율 파이썬 // 최대값이 200,000*500이면 시간복잡도를 의심하라, 파이썬 딕셔너리 초기화 방법, 리스트 역순정렬, 딕셔너리 for 순회
코딩테스트 연습 - 실패율 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr * 제한사항이 200,000이면 시간터진다 - 제한사항 스테이지의 개수 N은 1 이상 500 이하의 자연수이다. stages의 길이는 1 이상 200,000 이하이다 문제 : 최악 500개스테이지, 200,000 길이이면 각각 스테이지돌면서 1~200,000까지 카운팅 ->1억 -> 터짐 해결 : #해결 : 현재어디에 몇명인는지 저장(노클리어에 이미저장됨) #ex) 스테이지2:3명 -> 도달사람수[스테이지2]+=3 #이렇게하면..
프로그래머스 오픈채팅방 파이썬 // 해쉬맵
코딩테스트 연습 - 오픈채팅방 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr * 의사코드 - 해쉬맵에 {uid : 최종닉네임} 으로 저장한다. 1. split해서 2차원배열에담기 2. Enter,Change 일때마다 닉네임바꿔주기 => 해쉬맵에는 최종닉네임 저장됨 3. uid에 맞는 최종닉네임들 출력 def solution(record): answer = [] m=dict() records=[] # for i in range(10): # records.append([]) for str in reco..
프로그래머스 프렌즈4블록 cpp // 배열빡구현, check에서 삭제처리인지검사해야
https://school.programmers.co.kr/learn/courses/30/lessons/17679 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr * 의사코드 1. 배열돌며 2x2 인지 체크, 삭제예정기록('.') 2.삭제카운팅++, 실제삭제 3.떨어뜨리기 내가블록이있고, 아래가비엇으면 swap 4. 1-2-3반복 종료조건 : 터질게없다 #include using namespace std; int dy[]={1,0,1}; int dx[]={1,1,0}; int v[34][34]; char a[34][34]; char pop[34][34]; ..
프로그래머스 셔틀버스 파이썬 // 2차원 리스트
코딩테스트 연습 - [1차] 셔틀버스 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr * 2차원 리스트 할당 #2차원배열 할당 bus=[] for i in range(n): bus.append([]) ☆ 팁 : 먼저태우고, 내가들어갈자리를 고른다. * 의사코드 1. 분으로변환, 정렬 2. 버스에태우기 //버스리스트=[[08:00,09:00],[09:10]] 3. 막차full -> 빨리나와야함 -> 마지막버스 마지막사람보다 1분빨리 막차 자리남음 -> 딱 버스출발시간에 나와도됨 def solution(..