Coding/코딩테스트 15

#1966 프린터 큐(C++)

https://www.acmicpc.net/problem/1966 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net 처음에 덱과 큐를 이용해서 푼 방식 #include #include #include #include using namespace std; int main() { int n; cin >> n; while(n--){ deque dq; //vector v; int k, m; cin>>k>>m; for(int i=0; i>priority; sub_q.push(i); sub_q.push(priority); d..

#2644 촌수계산

https://www.acmicpc.net/problem/2644 2644번: 촌수계산 사람들은 1, 2, 3, …, n (1 ≤ n ≤ 100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어 www.acmicpc.net 문제 우리 나라는 가족 혹은 친척들 사이의 관계를 촌수라는 단위로 표현하는 독특한 문화를 가지고 있다. 이러한 촌수는 다음과 같은 방식으로 계산된다. 기본적으로 부모와 자식 사이를 1촌으로 정의하고 이로부터 사람들 간의 촌수를 계산한다. 예를 들면 나와 아버지, 아버지와 할아버지는 각각 1촌으로 나와 할아버지는 2촌이 되고, 아버지 형제들과 할아버지는 1촌, 나와 아버지 형제들..

백준 #7662(프로그래머스 #42628) 땅따먹기

https://school.programmers.co.kr/learn/courses/30/lessons/42628# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 이중 우선순위 큐는 다음 연산을 할 수 있는 자료구조를 말합니다. 명령어수신 탑(높이) I 숫자 큐에 주어진 숫자를 삽입합니다. D 1 큐에서 최댓값을 삭제합니다. D -1 큐에서 최솟값을 삭제합니다. 이중 우선순위 큐가 할 연산 operations가 매개변수로 주어질 때, 모든 연산을 처리한 후 큐가 비어있으면 [0,0] 비어있지 않으면 [최댓값, 최솟값]을 return 하도록 so..

백준 solved.ac 사용기

사람들이 백준 티어 티어 거리는데 뭔지 몰라서 무시해왔다가 드디어 solved.ac라는 사이트의 존재를 알게 되었다.. https://solved.ac/ 방법은 별거 없고 그냥 백준 아이디로 로그인하고 백준 사이트에 들어가서 오른쪽 위 버튼 클릭 후 solve.ac 탭에 들어가서 사용하는걸로 체크하면 된다 그러면 이렇게 뜨고 조금 후에 나 포함 유저들의 티어가 보인다 마치 발가벗겨진 기분이다 저 왼쪽 티어 단추를 누르면 이 사이트로 넘어간다 처음엔 뭘 어떻게 골라서 풀어야 하는지 몰라서 그냥 '단계별로 풀어보기'를 했는데 너무 쉽고 그렇다고 아무거나 풀기엔 또 너무 어려워서 어떻게 푸는건가 했더니 solved.ac에서 티어별로 분류된 문제를 푸니 수준에 맞는 것 같았다 너무 쉽진 않은데 생각할만한 그런 ..

#12913 땅따먹기

https://programmers.co.kr/learn/courses/30/lessons/12913 코딩테스트 연습 - 땅따먹기 땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟 programmers.co.kr 문제 설명 땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟으면서 내려와야 합니다. 단, 땅따먹기 게임에는 한 행씩 내려올 때, 같은 열을 연속해서 밟을 수 없는 특수 규칙이 있습니다. 예..

프로그래머스 level1 클리어!

나름대로 백준과 프로그래머스를 전전하며 짬짬이 코딩테스트 문제를 풀어보는 편이었다만.. 언젠가부터 조금만 어려운 문제가 나와도 턱턱 막혀버리는게 내 의지 문제인지 실력 부족인지 알 수 없는 지경에 이르렀다. 어떻게 이 난관(?)을 헤쳐나가야 하나 고민하던 차, 낮은 레벨부터 차근차근 풀어보라는 조언을 받고 시작하게 된 level1 문제 풀이 뒤쪽에 있는 연습문제들은 굉장히 쉬웠고(정말 말그대로 연습문제다) 앞쪽으로 갈수록 어려워진다. 물론 level1문제들 답게 알고리즘자체가 어려운건 아니었지만, 꽤 성가신 게 많았다. 그래도 덕분에 sstream, numeric regex 와 같은 header file 사용법을 알게 되었다. '천리 길도 한걸음부터' 라고 생각하면서 방학동안 짬짬이 문제 풀이를 했더니 ..

#12921 에라토스테네스의 체

https://programmers.co.kr/learn/courses/30/lessons/12921 코딩테스트 연습 - 소수 찾기 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 programmers.co.kr 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 1000000이하의 자연수입니다. 입출력 예 nresult 10 4 5 3 입출력 예 설명 입출력 예 #1 1부터 10 사이의 소..

LNK2019 관련 에러 해결하기

https://skmagic.tistory.com/308 error LNK2019: _main 외부 기호(참조 위치: ___tmainCRTStartup 함수)에서 확인하지 못했습니다.MSVCRTD.lib(crtexe.obj) : error LNK2019: _main 외부 기호 (참조 위치: ___tmainCRTStartup 함수)에서 확인하지 못했습니다. C:\경로~\D3D_Normal.exe : fatal error LNK1120: 1개의 확인할 수 없는 외부참조입..skmagic.tistory.com이 링크를 참조했다. 원래는 링커>시스템에서 창으로 해놓으면 cmd창이 픽 사라져서 콘솔로 해뒀던 것 같은데 여기서는 링커랑 프로젝트파일이 안맞아서 그런거라 콘솔로 된부분을 다시 창으로 바꿔줘야한다몇시간동..

#67256 키패드 누르기

https://programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 스마트폰 전화 키패드의 각 칸에 다음과 같이 숫자들이 적혀 있습니다. 이 전화 키패드에서 왼손과 오른손의 엄지손가락만을 이용해서 숫자만을 입력하려고 합니다. 맨 처음 왼손 엄지손가락은 * 키패드에 오른손 엄지손가락은 # 키패드 위치에서 시작하며, 엄지손..