C++

☁ 꼭 쓰려고만 하면 기억이 안 나는 나를 위해 정리한 vector 사용법이다.추후에 새로 알게 된 정보도 추가해나가려고 한다!    vector의 기본 정리  [💻 Programming/C++] - [C++] STL vector 정리   vector의 구조  vector 사용법#include  using namespace std;  vector 헤더 파일은 반드시 추가해 주어야 하며, std::를 생략하기 위해 네임스페이스도 사용할 수 있다. 🐾 위의 네임스페이스를 생략하면 아래 예제의 모든 vector를 std::vector로 써야 한다.    vector 생성자   기본 생성자  vector v;비어있는 정수형(int) 벡터를 생성  초기 크기와 기본값을 지정한 생성자  vector v(10);..
C++ STL(Standard Template Library, 표준 템플릿 라이브러리)의 시퀀스 컨테이너(Sequence Container) 중 하나인  vector에 대해 알아보자. ✒ 시퀀스 컨테이너(Sequence Container)란?시퀀스 컨테이너(Sequence Container)는 배열처럼 요소들을 순차적으로 보관하는 컨테이너를 뜻한다.참고로 다른 컨테이너인 연관 컨테이너(Associate Container)는 키(key)를 이용해 대응되는 값(value)에 접근한다.   vector 란?vector는 C++ STL(Standard Template Library)의 시퀀스 컨테이너로, 동적으로 크기를 조절할 수 있는 배열을 제공하며, 요소들을 연속된 메모리 공간에 저장한다. 다양한 상황에서 ..
문제어떤 게임에는 붕대 감기라는 기술이 있습니다.붕대 감기는 t초 동안 붕대를 감으면서 1초마다 x만큼의 체력을 회복합니다. t초 연속으로 붕대를 감는 데 성공한다면 y만큼의 체력을 추가로 회복합니다. 게임 캐릭터에는 최대 체력이 존재해 현재 체력이 최대 체력보다 커지는 것은 불가능합니다.기술을 쓰는 도중 몬스터에게 공격을 당하면 기술이 취소되고, 공격을 당하는 순간에는 체력을 회복할 수 없습니다. 몬스터에게 공격당해 기술이 취소당하거나 기술이 끝나면 그 즉시 붕대 감기를 다시 사용하며, 연속 성공 시간이 0으로 초기화됩니다.몬스터의 공격을 받으면 정해진 피해량만큼 현재 체력이 줄어듭니다. 이때, 현재 체력이 0 이하가 되면 캐릭터가 죽으며 더 이상 체력을 회복할 수 없습니다.당신은 붕대감기 기술의 정보..
💣 하드코딩 했다가 혼쭐났다 ^^  내 타이핑과 시력을 의심하고 또 의심하라   문제AI 엔지니어인 현식이는 데이터를 분석하는 작업을 진행하고 있습니다. 데이터는 ["코드 번호(code)", "제조일(date)", "최대 수량(maximum)", "현재 수량(remain)"]으로 구성되어 있으며 현식이는 이 데이터들 중 조건을 만족하는 데이터만 뽑아서 정렬하려 합니다.예를 들어 다음과 같이 데이터가 주어진다면data = [[1, 20300104, 100, 80], [2, 20300804, 847, 37], [3, 20300401, 10, 8]] 이 데이터는 다음 표처럼 나타낼 수 있습니다.주어진 데이터 중 "제조일이 20300501 이전인 물건들을 현재 수량이 적은 순서"로 정렬해야 한다면 조건에 맞게..
문제각 칸마다 색이 칠해진 2차원 격자 보드판이 있습니다. 그중 한 칸을 골랐을 때, 위, 아래, 왼쪽, 오른쪽 칸 중 같은 색깔로 칠해진 칸의 개수를 구하려고 합니다.보드의 각 칸에 칠해진 색깔 이름이 담긴 이차원 문자열 리스트 board와 고른 칸의 위치를 나타내는 두 정수 h, w가 주어질 때 board[h][w]와 이웃한 칸들 중 같은 색으로 칠해져 있는 칸의 개수를 return 하도록 solution 함수를 완성해 주세요.이웃한 칸들 중 몇 개의 칸이 같은 색으로 색칠되어 있는지 확인하는 과정은 다음과 같습니다.정수를 저장할 변수 n을 만들고 board의 길이를 저장합니다.같은 색으로 색칠된 칸의 개수를 저장할 변수 count를 만들고 0을 저장합니다.h와 w의 변화량을 저장할 정수 리스트 dh..
이미 완성된 코드에서 버그를 찾아 수정하는 디버깅 문제입니다.   문제선빈이는 게임을 즐기던 중 가지고 있는 물건이 너무 많아 창고 정리를 하기로 했습니다. 선빈이가 보유한 게임 속 창고는 여러 칸으로 나누어져 있고 각 칸에는 물건들이 담겨있습니다. 창고를 정리할 방법을 고민하던 선빈이는 같은 물건이 여러 칸에 나누어 들어있는 것을 발견하고 우선 같은 물건끼리 최대한 겹쳐쌓는 방식으로 창고를 정리하기로 했습니다. 선빈이의 창고에 들어있는 물건의 이름과 개수는 리스트 형태로 주어지며, 한 칸에 겹쳐질 수 있는 물건의 개수에는 제한이 없다고 가정합니다.예를 들어 창고의 각 칸에 담겨있는 물건의 이름이storage = ["pencil", "pencil", "pencil", "book"], 각 물건의 개수가 n..
빈칸 채우기 문제입니다.   문제상우가 사용하는 가습기에는 "auto", "target", "minimum"의 세 가지 모드가 있습니다. 가습기의 가습량은 0~5단계로 구분되며 각 모드 별 동작 방식은 다음과 같습니다. "auto" 모드습도가 0 이상 10 미만인 경우 : 5단계습도가 10 이상 20 미만인 경우 : 4단계습도가 20 이상 30 미만인 경우 : 3단계습도가 30 이상 40 미만인 경우 : 2단계습도가 40 이상 50 미만인 경우 : 1단계습도가 50 이상인 경우 : 0단계"target" 모드습도가 설정값 미만일 경우 : 3단계습도가 설정값 이상일 경우 : 1단계"minimum"모드습도가 설정값 미만일 경우 : 1단계습도가 설정값 이상일 경우 : 0단계 상우가 설정한 가습기의 모드를 나타낸..
이미 완성된 코드에서 버그를 찾아 수정하는 디버깅 문제입니다.   문제A반 학생들은 시험이 끝난 뒤 성적이 나오기 전 자기 시험지를 가채점해 보았습니다. 이후에 선생님이 실제 성적을 불러 줄 때 가채점한 점수와 실제 성적이 다른 학생들이 있어 선생님께 문의를 하려고 합니다.성적을 문의하려는 학생들의 번호가 담긴 정수 리스트 numbers와 가채점한 점수가 성적을 문의하려는 학생 순서대로 담긴 정수 리스트 our_score, 실제 성적이 번호 순서대로 담긴 정수 리스트 score_list가 주어집니다. 주어진 solution 함수는 가채점한 점수가 실제 성적과 동일하다면 "Same"을, 다르다면 "Different"를 순서대로 리스트에 담아 return하는 함수입니다. solution 함수가 올바르게 작동..
빈칸 채우기 문제입니다.   문제여름이는 강아지를 산책시키려고 합니다. 여름이는 2차원 좌표평면에서 동/서/남/북 방향으로 1m 단위로 이동하면서 강아지를 산책시킵니다. 산책루트가 담긴 문자열 route가 주어질 때, 도착점의 위치를 return하도록 빈칸을 채워 solution함수를 완성해 주세요. route는 "N", "S", "E", "W"로 이루어져 있습니다."N"은 북쪽으로 1만큼 움직입니다."S"는 남쪽으로 1만큼 움직입니다.북쪽으로 -1만큼 움직인 것과 같습니다."E"는 동쪽으로 1만큼 움직입니다."W"는 서쪽으로 1만큼 움직입니다.동쪽으로 -1만큼 움직인 것과 같습니다.출발점으로부터 [동쪽으로 떨어진 거리, 북쪽으로 떨어진 거리]형태로 강아지의 최종 위치를 구해서 return해야 합니다.출..
빈칸 채우기 문제입니다.   문제진우는 돈을 모으기 위해 저축을 하려고 합니다. 목표로 하는 금액은 100만 원이며, 첫 달에 일정 금액을 넣은 뒤 70만 원까지는 매월 조금씩 저축하다가 70만 원 이후부터는 월 저축량을 늘려 빠르게 목표 금액을 달성하고자 합니다.첫 달에 저축하는 금액을 나타내는 정수 start, 두 번째 달 부터 70만 원 이상 모일 때까지 매월 저축하는 금액을 나타내는 정수 before, 100만 원 이상 모일 때 까지 매월 저축하는 금액을 나타내는 정수 after가 주어질 때, 100만 원 이상을 모을 때까지 걸리는 개월 수를 출력하도록 빈칸을 채워 코드를 완성해 주세요.     입출력 예시  풀이#include using namespace std;int main(void) { ..
Mojing_
'C++' 태그의 글 목록