본문 바로가기

알고리즘/프로그래머스28

[ 프로그래머스 / 문자열 ] 오픈채팅방 1. 문제 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 2. 소스코드 - string stream이란걸 처음 앎 - 이걸 쓰면 정말 쉽다. 소스코드 #include #include #include #include #include #include using namespace std; vector solution(vector record) { vector answer; unordered_map map; for (string str : record) { stringstream st(str); string cmd.. 2020. 7. 1.
[ 프로그래머스 / 진법 ] 다음 큰 숫자 1. 문제 코딩테스트 연습 - 다음 큰 숫자 자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니 programmers.co.kr 2. 소스코드 - bitset을 쓰면 정말 간단히 풀리는 문제. - &연산을 이용하는 방법도 있다. 좀 더 깊게 공부하고 싶으면 &연산자와 쉬프트 연산을 해보는 게 좋을 것 같다. 소스코드 - bitset #include #include #include using namespace std; int solution(int n) { int num = bitset(n).count(); int next = n + 1; whil.. 2020. 6. 30.
[ 프로그래머스 / 우선순위큐 ] 라면공장 1. 문제 코딩테스트 연습 - 라면공장 라면 공장에서는 하루에 밀가루를 1톤씩 사용합니다. 원래 밀가루를 공급받던 공장의 고장으로 앞으로 k일 이후에야 밀가루를 공급받을 수 있기 때문에 해외 공장에서 밀가루를 수입해야 합니�� programmers.co.kr 2. 소스코드 - 개인적으로 불호인 문제. - 밀가루 공급 일정(dates)과 해당 시점에 공급 가능한 밀가루 수량(supplies), 라고 문제에 정의되어 있는데, 정작 풀이는 해당 날짜 이후 언제든지 그 만큼을 공급받을 수 있다. - 그러니까 는 의미랑, 는 의미는 천지 차이인데 문제는 이를 애매하게 서술해놓았다. - 후자의 의미로 풀어야 AC를 받는다. 소스코드 #include #include #include using namespace std.. 2020. 6. 30.
[ 프로그래머스 / 완전탐색 ] 카펫 1. 문제 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 �� programmers.co.kr 2. 소스코드 - w를 고정, h를 w까지 늘려가며 비교했다. - 연립방정식을 세워 풀면, while 문 하나로도 가능하다. 소스코드 #include #include #include using namespace std; vector solution(int brown, int yellow) { vector answer; int h=3, w=3; long long int temp_brown = 0; while(true){ h = 3; while(h 2020. 6. 30.