[프로그래머스/C++ 문제 풀이] Lv. 1 - 신고 결과 받기
·
코딩테스트/프로그래머스 (Lv. 1)
문제 설명신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다.각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다.신고 횟수에 제한은 없습니다. 서로 다른 유저를 계속해서 신고할 수 있습니다.한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신고 횟수는 1회로 처리됩니다.k번 이상 신고된 유저는 게시판 이용이 정지되며, 해당 유저를 신고한 모든 유저에게 정지 사실을 메일로 발송합니다.유저가 신고한 모든 내용을 취합하여 마지막에 한꺼번에 게시판 이용 정지를 시키면서 정지 메일을 발송합니다.다음은 전체 유저 목록이 ["muzi", "frodo", "apeach", "neo"]이고, k = 2(즉, 2번 ..
[프로그래머스/C++ 문제 풀이] Lv. 1 - [PCCP 기출문제] 1번 / 붕대 감기
·
코딩테스트/프로그래머스 (Lv. 1)
문제 설명어떤 게임에는 붕대 감기라는 기술이 있습니다.붕대 감기는 t초 동안 붕대를 감으면서 1초마다 x만큼의 체력을 회복합니다. t초 연속으로 붕대를 감는 데 성공한다면 y만큼의 체력을 추가로 회복합니다. 게임 캐릭터에는 최대 체력이 존재해 현재 체력이 최대 체력보다 커지는 것은 불가능합니다.기술을 쓰는 도중 몬스터에게 공격을 당하면 기술이 취소되고, 공격을 당하는 순간에는 체력을 회복할 수 없습니다. 몬스터에게 공격당해 기술이 취소당하거나 기술이 끝나면 그 즉시 붕대 감기를 다시 사용하며, 연속 성공 시간이 0으로 초기화됩니다.몬스터의 공격을 받으면 정해진 피해량만큼 현재 체력이 줄어듭니다. 이때, 현재 체력이 0 이하가 되면 캐릭터가 죽으며 더 이상 체력을 회복할 수 없습니다.당신은 붕대감기 기술의..
[프로그래머스/C++ 문제 풀이] Lv. 1 - 가장 많이 받은 선물
·
코딩테스트/프로그래머스 (Lv. 1)
문제 설명선물을 직접 전하기 힘들 때 카카오톡 선물하기 기능을 이용해 축하 선물을 보낼 수 있습니다. 당신의 친구들이 이번 달까지 선물을 주고받은 기록을 바탕으로 다음 달에 누가 선물을 많이 받을지 예측하려고 합니다.두 사람이 선물을 주고받은 기록이 있다면, 이번 달까지 두 사람 사이에 더 많은 선물을 준 사람이 다음 달에 선물을 하나 받습니다.예를 들어 A가 B에게 선물을 5번 줬고, B가 A에게 선물을 3번 줬다면 다음 달엔 A가 B에게 선물을 하나 받습니다.두 사람이 선물을 주고받은 기록이 하나도 없거나 주고받은 수가 같다면, 선물 지수가 더 큰 사람이 선물 지수가 더 작은 사람에게 선물을 하나 받습니다.선물 지수는 이번 달까지 자신이 친구들에게 준 선물의 수에서 받은 선물의 수를 뺀 값입니다.예를..
[프로그래머스/C++ 문제 풀이] Lv. 0 - 직사각형 넓이 구하기
·
코딩테스트/프로그래머스 (Lv. 0)
문제 설명2차원 좌표 평면에 변이 축과 평행한 직사각형이 있습니다. 직사각형 네 꼭짓점의 좌표 [[x1, y1], [x2, y2], [x3, y3], [x4, y4]]가 담겨있는 배열 dots가 매개변수로 주어질 때, 직사각형의 넓이를 return 하도록 solution 함수를 완성해보세요.제한 사항dots의 길이 = 4dots의 원소의 길이 = 2-256  dots[i]의 원소 잘못된 입력은 주어지지 않습니다.입출력 예 dots result [[1, 1], [2, 1], [2, 2], [1, 2]]1[[-1, -1], [1, 1], [1, -1], [-1, 1]]4 입출력 예 #1좌표 [[1, 1], [2, 1], [2, 2], [1, 2]] 를 꼭짓점으로 갖는 직사각형의 가로, 세로 길이는 각각 1..
[프로그래머스/C++ 문제 풀이] Lv. 0 - 대소문자 바꿔서 출력하기
·
코딩테스트/프로그래머스 (Lv. 0)
문제 설명영어 알파벳으로 이루어진 문자열 str이 주어집니다. 각 알파벳을 대문자는 소문자로 소문자는 대문자로 변환해서 출력하는 코드를 작성해 보세요.제한 사항1 ≤ str의 길이 ≤ 20str은 알파벳으로 이루어진 문자열입니다.입출력 예입력 #1aBcDeFg 출력 #1AbCdEfG문제 풀이이번 문제는 아스키코드의 개념을 알고 있는지 확인하기 위한 간단한 문제입니다. 아스키 (ASCII) 코드란 컴퓨터 및 통신 시스템에서 문자를 나타내기 위해 사용되는 표준 문자 인코딩 시스템입니다.C++에서 각 문자는 아스키 코드값으로 처리가 가능하며, 이를 활용해 문제를 해결하였습니다.정답 코드더보기#include #include using namespace std;int main(void) { string st..
[프로그래머스/C++ 문제 풀이] Lv. 0 - 전국 대회 선발 고사
·
코딩테스트/프로그래머스 (Lv. 0)
문제 설명0번부터 n - 1번까지 n명의 학생 중 3명을 선발하는 전국 대회 선발 고사를 보았습니다. 등수가 높은 3명을 선발해야 하지만, 개인 사정으로 전국 대회에 참여하지 못하는 학생들이 있어 참여가 가능한 학생 중 등수가 높은 3명을 선발하기로 했습니다.각 학생들의 선발 고사 등수를 담은 정수 배열 rank와 전국 대회 참여 가능 여부가 담긴 boolean 배열 attendance가 매개변수로 주어집니다. 전국 대회에 선발된 학생 번호들을 등수가 높은 순서대로 각각 a, b, c번이라고 할 때 10000 × a + 100 × b + c를 return 하는 solution 함수를 작성해 주세요.제한 사항3 ≤ rank의 길이 = attendance의 길이 ≤ 100rank[i]는 i번 학생의 선발 고..
[프로그래머스/C++ 문제 풀이] Lv. 0 - 로그인 성공?
·
코딩테스트/프로그래머스 (Lv. 0)
문제 설명머쓱이는 프로그래머스에 로그인하려고 합니다. 머쓱이가 입력한 아이디와 패스워드가 담긴 배열 id_pw와 회원들의 정보가 담긴 2차원 배열 db가 주어질 때, 다음과 같이 로그인 성공, 실패에 따른 메시지를 return하도록 solution 함수를 완성해주세요.아이디와 비밀번호가 모두 일치하는 회원정보가 있으면 "login"을 return합니다.로그인이 실패했을 때 아이디가 일치하는 회원이 없다면 “fail”를, 아이디는 일치하지만 비밀번호가 일치하는 회원이 없다면 “wrong pw”를 return 합니다.제한 사항회원들의 아이디는 문자열입니다.회원들의 아이디는 알파벳 소문자와 숫자로만 이루어져 있습니다.회원들의 패스워드는 숫자로 구성된 문자열입니다.회원들의 비밀번호는 같을 수 있지만 아이디는 같..
[프로그래머스/C++ 문제 풀이] Lv. 0 - 치킨 쿠폰
·
코딩테스트/프로그래머스 (Lv. 0)
문제 설명프로그래머스 치킨은 치킨을 시켜먹으면 한 마리당 쿠폰을 한 장 발급합니다. 쿠폰을 열 장 모으면 치킨을 한 마리 서비스로 받을 수 있고, 서비스 치킨에도 쿠폰이 발급됩니다. 시켜먹은 치킨의 수 chicken이 매개변수로 주어질 때 받을 수 있는 최대 서비스 치킨의 수를 return하도록 solution 함수를 완성해주세요.제한 사항chicken은 정수입니다.0 ≤ chicken ≤ 1,000,000입출력 예 chicken result 100111,081120 입출력 예 #1100마리를 주문하면 쿠폰이 100장 발급되므로 서비스 치킨 10마리를 주문할 수 있습니다.10마리를 주문하면 쿠폰이 10장 발급되므로 서비스 치킨 1마리를 주문할 수 있습니다.따라서 10 + 1 = 11 을 return합니..