본문 바로가기

알고리즘 문제풀이174

[개념정리] strtok strtok 은 C언어에서의 문자열 분리 함수이다. 사용예시 : 문자열을 받아 띄어쓰기를 구분으로 문자를 나눈다. #include #include int main(){ char str[] = "nice to meet you"; char* token = strtok(str, " "); while(token != NULL){ cout 2021. 3. 4.
[개념정리] C++ string 정리 -2 앞선 포스팅에서 string library 의 초기화 삽입 탐색 추가 등을 알아보았다. dbstndi6316.tistory.com/216 [개념정리] C++ string 정리 -1 String Library 란 문자열을 나타내기 위한 클래스 이다. 대체로 코딩테스트에 문자열 input을 받아 처리하는 문제가 나오면 처리가 쉬운 파이썬으로 풀기를 권장하지만 나머지 부분을 전부 c++ 로 준 dbstndi6316.tistory.com 이번 포스팅은 2편으로 string 의 반복자, 제거, c스타일로 변경 등을 알아보고자 한다. 어쩌면 코딩테스트에서 더 많이 쓰일 수 있는 개념들이다. String 비우기 #include #include using namespace std; int main(){ string s.. 2021. 3. 4.
[개념정리] C++ string 정리 -1 String Library 란 문자열을 나타내기 위한 클래스 이다. 대체로 코딩테스트에 문자열 input을 받아 처리하는 문제가 나오면 처리가 쉬운 파이썬으로 풀기를 권장하지만 나머지 부분을 전부 c++ 로 준비했거나 직무가 c 관련이라서 이 글을 보시는 분도 계실것이다. 나도 또한 코딩테스트를 보다가 string에서 애먹은적이 있기 때문에 정리차원에서 적어본다. String 초기화 주석참고 #include #include using namespace std; int main(){ // 1 string str1 = "coding_ddunddun1"; // 2 string str2("coding_ddunddun2"); // 3 string str3; str3 = "coding_ddunddun3"; // 4.. 2021. 3. 4.
[알고리즘 문제풀이] 기타 코딩테스트 1-1 문제 : A 게임에는 많은 단독 스킬과 연계 스킬이 존재하며 사용자들은 스킬을 다양하게 조합하여 사용할 수 있다. 여기서 단독 스킬이란 다른 스킬에 영향을 받지 않고 단독적으로 사용할 수 있는 스킬을 의미하며 연계 스킬은 단독 스킬과 달리 단독적으로 사용이 불가하여 사전에 다른 스킬을 사용한 후 사용할 수 있는 스킬을 의미한다. 예를 들어 마법사 직업의 스킬로는 근접 공격, 염력, 불 뿜기, 물 뿌리기, 회복으로 구성되어 있고 아래의 연계 구조를 가진다고 가정한다. 근접 공격 후 염력 또는 불 뿜기를 사용할 수 있다. 이때 근접 공격은 염력 또는 불 뿜기의 선행 스킬이며 염력 또는 불 뿜기 스킬은 근접 공격의 후행 스킬이라고 한다. 염력 후 회복 또는 물 뿌리기를 사용할 수 있다. 이때 염력은 회복 또는.. 2021. 3. 4.
[삼성역량테스트] 2143 두 배열의 합 풀이일시 : 2021-02-21 문제 : 한 배열 A[1], A[2], …, A[n]에 대해서, 부 배열은 A[i], A[i+1], …, A[j-1], A[j] (단, 1 ≤ i ≤ j ≤ n)을 말한다. 이러한 부 배열의 합은 A[i]+…+A[j]를 의미한다. 각 원소가 정수인 두 배열 A[1], …, A[n]과 B[1], …, B[m]이 주어졌을 때, A의 부 배열의 합에 B의 부 배열의 합을 더해서 T가 되는 모든 부 배열 쌍의 개수를 구하는 프로그램을 작성하시오. 예를 들어 A = {1, 3, 1, 2}, B = {1, 3, 2}, T=5인 경우, 부 배열 쌍의 개수는 다음의 7가지 경우가 있다. T(=5) = A[1] + B[1] + B[2] = A[1] + A[2] + B[1] = A[2] +.. 2021. 2. 22.
[삼성역량테스트] 20061 모노미노도미노 2 풀이일시 : 2021-02-13 문제 : 모노미노도미노는 아래와 같이 생긴 보드에서 진행되는 게임이다. 보드는 빨간색 보드, 파란색 보드, 초록색 보드가 그림과 같이 붙어있는 형태이다. 게임에서 사용하는 좌표 (x, y)에서 x는 행, y는 열을 의미한다. 빨간색, 파란색, 초록색 보드가 사용하는 좌표는 그 색으로 그림에 적혀있다. 이 게임에서 사용하는 블록은 타일 하나 또는 두 개가 가로 또는 세로로 붙어있는 형태이다. 아래와 같이 세 종류가 있으며, 왼쪽부터 순서대로 크기가 1×1, 1×2, 2×1 이다. 블록을 놓을 위치를 빨간색 보드에서 선택하면, 그 위치부터 초록색 보드로 블록이 이동하고, 파란색 보드로 블록이 이동한다. 블록의 이동은 다른 블록을 만나거나 보드의 경계를 만나기 전까지 계속해서 .. 2021. 2. 13.
[삼성역량테스트] 19236 청소년상어 풀이일시 : 2021-02-10 문제 : 아기 상어가 성장해 청소년 상어가 되었다. 4×4크기의 공간이 있고, 크기가 1×1인 정사각형 칸으로 나누어져 있다. 공간의 각 칸은 (x, y)와 같이 표현하며, x는 행의 번호, y는 열의 번호이다. 한 칸에는 물고기가 한 마리 존재한다. 각 물고기는 번호와 방향을 가지고 있다. 번호는 1보다 크거나 같고, 16보다 작거나 같은 자연수이며, 두 물고기가 같은 번호를 갖는 경우는 없다. 방향은 8가지 방향(상하좌우, 대각선) 중 하나이다. 오늘은 청소년 상어가 이 공간에 들어가 물고기를 먹으려고 한다. 청소년 상어는 (0, 0)에 있는 물고기를 먹고, (0, 0)에 들어가게 된다. 상어의 방향은 (0, 0)에 있던 물고기의 방향과 같다. 이후 물고기가 이동한다... 2021. 2. 12.
[삼성역량테스트] 19238 스타트택시 풀이일시 : 2021-01-24 문제 : 스타트링크가 "스타트 택시"라는 이름의 택시 사업을 시작했다. 스타트 택시는 특이하게도 손님을 도착지로 데려다줄 때마다 연료가 충전되고, 연료가 바닥나면 그 날의 업무가 끝난다. 택시 기사 최백준은 오늘 M명의 승객을 태우는 것이 목표이다. 백준이 활동할 영역은 N×N 크기의 격자로 나타낼 수 있고, 각 칸은 비어 있거나 벽이 놓여 있다. 택시가 빈칸에 있을 때, 상하좌우로 인접한 빈칸 중 하나로 이동할 수 있다. 알고리즘 경력이 많은 백준은 특정 위치로 이동할 때 항상 최단경로로만 이동한다. M명의 승객은 빈칸 중 하나에 서 있으며, 다른 빈칸 중 하나로 이동하려고 한다. 여러 승객이 같이 탑승하는 경우는 없다. 따라서 백준은 한 승객을 태워 목적지로 이동시키는.. 2021. 1. 25.
반응형