본문 바로가기

전체 글133

[C++] 햄버거 만들기 햄버거 만들기 햄버거 가게에서 일을 하는 상수는 햄버거를 포장하는 일을 합니다. 함께 일을 하는 다른 직원들이 햄버거에 들어갈 재료를 조리해 주면 조리된 순서대로 상수의 앞에 아래서부터 위로 쌓이게 되고, 상수는 순서에 맞게 쌓여서 완성된 햄버거를 따로 옮겨 포장을 하게 됩니다. 상수가 일하는 가게는 정해진 순서(아래서부터, 빵 – 야채 – 고기 - 빵)로 쌓인 햄버거만 포장을 합니다. 상수는 손이 굉장히 빠르기 때문에 상수가 포장하는 동안 속 재료가 추가적으로 들어오는 일은 없으며, 재료의 높이는 무시하여 재료가 높이 쌓여서 일이 힘들어지는 경우는 없습니다. 예를 들어, 상수의 앞에 쌓이는 재료의 순서가 [야채, 빵, 빵, 야채, 고기, 빵, 야채, 고기, 빵]일 때, 상수는 여섯 번째 재료가 쌓였을 .. 2023. 6. 14.
[C++] 둘만의 암호 둘만의 암호 두 문자열 s와 skip, 그리고 자연수 index가 주어질 때, 다음 규칙에 따라 문자열을 만들려 합니다. 암호의 규칙은 다음과 같습니다. 문자열 s의 각 알파벳을 index만큼 뒤의 알파벳으로 바꿔줍니다. index만큼의 뒤의 알파벳이 z를 넘어갈 경우 다시 a로 돌아갑니다. skip에 있는 알파벳은 제외하고 건너뜁니다. 예를 들어 s = "aukks", skip = "wbqd", index = 5일 때, a에서 5만큼 뒤에 있는 알파벳은 f지만 [b, c, d, e, f]에서 'b'와 'd'는 skip에 포함되므로 세지 않습니다. 따라서 'b', 'd'를 제외하고 'a'에서 5만큼 뒤에 있는 알파벳은 [c, e, f, g, h] 순서에 의해 'h'가 됩니다. 나머지 "ukks" 또한 위.. 2023. 6. 14.
[C++] 멀리 뛰기 멀리 뛰기 효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는 (1칸, 1칸, 1칸, 1칸) (1칸, 2칸, 1칸) (1칸, 1칸, 2칸) (2칸, 1칸, 1칸) (2칸, 2칸) 의 5가지 방법으로 맨 끝 칸에 도달할 수 있습니다. 멀리뛰기에 사용될 칸의 수 n이 주어질 때, 효진이가 끝에 도달하는 방법이 몇 가지인지 알아내, 여기에 1234567를 나눈 나머지를 리턴하는 함수, solution을 완성하세요. 예를 들어 4가 입력된다면, 5를 return하면 됩니다. 입출력 예 4 5 3 3 1칸 또는 2칸을 갈 수 있기 때문에 도착점에 도착하는 경우가 두가지가 있을 수 있습니다. 예를들어 6번째 칸에 도착하기 위해서는 첫번째 .. 2023. 6. 14.
[C++] 다음 큰 숫자 다음 큰 숫자 자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니다. 조건 3. n의 다음 큰 숫자는 조건 1, 2를 만족하는 수 중 가장 작은 수 입니다. 예를 들어서 78(1001110)의 다음 큰 숫자는 83(1010011)입니다. 자연수 n이 매개변수로 주어질 때, n의 다음 큰 숫자를 return 하는 solution 함수를 완성해주세요. 입출력 예 78 83 15 23 C++의 STL인 bitset을 이용하여 2진수로 변환한 후 1의 개수를 세어 비교합니다. 처음에 count()함수를 몰라서 문자열로 변환하였습니다. 나의 답 #incl.. 2023. 6. 13.
2023년 1회 정보처리기사 후기 (feat. 연서중 답안지 파쇄) 2023년 정기 기사시험 1회 정보처리기사 필기 1번, 실기 2번 총 3번의 시험을 치루게 되었습니다 이번 실기 합격률은 거의 27%... 사실 재시험 난이도는 기존 시험과 동일하게 출제한다고 하였는데 코딩문제는 확실히 쉬운 느낌이었습니다 주관식은 네트워크 관련 문제가 대다수여서 쉽지 않았습니다 첫 시험때 가채점으로 60점대였는데, 확실히 붙기위해 한번 더 시험봤다 생각하려 합니다 - 시험 준비물 필기시험 : 필기구 (연습지는 따로 제공합니다. 시험 후 제출) 실기시험 : 볼펜, 수정테이프 (수정액은 불가) 필기시험 3월 21일 필기시험을 진행하였습니다. 일산공인시험센터에서 응시하였고, 건물 9층으로 가면 바로 시험에 대해 안내해주십니다 PC로 시험을 진행하고 과목 별 20문제씩 총 100문제입니다 공부.. 2023. 6. 9.
[C++] 예상 대진표 예상 대진표 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N번의 참가자끼리 게임을 진행합니다 입출력 예 n = 8 a = 4 b = 7 출력 = 3 예를들어 8명이 참가할 경우, 첫 번째 라운드에서 4번 참가자는 3번 참가자와 붙게 되고, 7번 참가자는 8번 참가자와 붙게 됩니다. 항상 이긴다고 가정했으므로 4번 참가자는 다음 라운드에서 2번이 되고, 7번 참가자는 4번이 됩니다. 두 번째 라운드에서 2번은 1번과 붙게 되고, 4번은 3번과 붙게 됩니다. 항상 이긴다고 가정했으므로 2번은 다음 라운드에서 1번이 되고, 4번은 2번이 됩니다. 세 번.. 2023. 6. 9.
[C++] 최댓값과 최솟값 최댓값과 최솟값 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다. 입출력 예 "1 2 3 4" "1 4" "-1 -2 -3 -4" "-4 -1" "-1 -1" "-1 -1" 입력 문자열을 공백을 기준으로 분리한 후, 각각 stoi()로 숫자로 변환하여 벡터a에 push합니다. 이후 벡터a를 오름차순으로 정렬한 후, 첫번째 값과 마지막값을 정답 문자열에 맞게 더하고 반환합니다. #include #include #include #includ.. 2023. 6. 5.
[C++] 옹알이 (1) 옹알이 (1) 머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요. 입출력 예 ["aya", "yee", "u", "maa", "wyeoo"] 1 ["ayaye", "uuuma", "ye", "yemawoo", "ayaa"] 3 입력받는 배열 안 문자열에서 주어진 4개의 발음을 한번씩만 사용해서 만들 수 있다는 것은, 문자열에 "aya", "ye", "woo", "ma" 단어를 제외한 다른 글자가 들어갈 수 없습.. 2023. 5. 30.
[C++] 평행 평행 점 네 개의 좌표를 담은 이차원 배열 dots가 다음과 같이 매개변수로 주어집니다. [[x1, y1], [x2, y2], [x3, y3], [x4, y4]] 주어진 네 개의 점을 두 개씩 이었을 때, 두 직선이 평행이 되는 경우가 있으면 1을 없으면 0을 return 하도록 solution 함수를 완성해보세요. 두 직선이 겹치는 경우(일치하는 경우)에도 1을 return 해주세요. 임의의 두 점을 이은 직선이 x축 또는 y축과 평행한 경우는 주어지지 않습니다. 주어진 두 선분이 평행하려면 기울기가 같고, y절편이 달라야 합니다. 이때 추가조건으로 두직선이 겹치는 경우에도 1을 반환하기 때문에 y절편은 고려하지 않습니다. 따라서 4개점 중 각각 두 점씩 쌍을 지어 두 선분을 만들고, 그 두 선분의 기.. 2023. 5. 25.