본문 바로가기

전체 글70

[c++][프로그래머스] 성격 유형 검사하기 프로그래머스 성격 유형 검사하기 [2022 KAKAO TECH INTERNSHIP] https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 이 문제는 구현 문제입니다. 문제의 요구사항에 맞춰 구현해 주시면 됩니다. 성격 유형 점수를 저장할 때 맵 혹은 배열을 사용할 수 있습니다. 저는 배열을 사용했습니다. 코드 #include #include using namespace std; vector v = { {'R', 'T'}, {'C', 'F.. 2022. 9. 6.
[c++][프로그래머스] 시험장 나누기 프로그래머스 시험장 나누기 [2021 카카오 채용연계형 인턴십] https://programmers.co.kr/learn/courses/30/lessons/81305 코딩테스트 연습 - 시험장 나누기 3 [12, 30, 1, 8, 8, 6, 20, 7, 5, 10, 4, 1] [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [8, 5], [2, 10], [3, 0], [6, 1], [11, -1], [7, 4], [-1, -1], [-1, -1]] 40 programmers.co.kr 문제 풀이 이 문제는 DFS + 파라메트릭 서치(Parametric Search)로 구현했습니다. mid 값을 변화시키면서 다음 시나리오를 따라 그룹을 나누어보면서 mid 값을 최적화합니다. 위와 .. 2022. 4. 20.
[c++][프로그래머스] 미로 탈출 프로그래머스 미로 탈출 [2021 카카오 채용연계형 인턴십] https://programmers.co.kr/learn/courses/30/lessons/81304 코딩테스트 연습 - 미로 탈출 4 1 4 [[1, 2, 1], [3, 2, 1], [2, 4, 1]] [2, 3] 4 programmers.co.kr 문제 풀이 이 문제는 BFS + 비트마스킹으로 구현했습니다. 함정의 개수가 최대 10개이기 때문에 함정의 상태를 비트마스킹으로 관리합니다. 함정의 상태에 따라 순방향 or 역방향으로 이동해야하기 때문에 순방향, 역방향 엣지 모두 저장합니다. vector edges[1010]; ... for(auto &r: roads) { edges[r[0]].push_back({r[1], r[2], true});.. 2022. 4. 19.
[c++][백준 2169] 로봇 조종하기 백준 2169번: 로봇 조종하기 https://www.acmicpc.net/problem/2169 2169번: 로봇 조종하기 첫째 줄에 N, M(1≤N, M≤1,000)이 주어진다. 다음 N개의 줄에는 M개의 수로 배열이 주어진다. 배열의 각 수는 절댓값이 100을 넘지 않는 정수이다. 이 값은 그 지역의 가치를 나타낸다. www.acmicpc.net 문제 풀이 이 문제는 DP(Dynamic Programming)로 구현했습니다. 위의 그림에서처럼 한 칸을 계산하기 위해서는 3방향의 값을 고려해야 합니다. 3방향을 모두 고려하여 값을 계산하기 위해 다음과 같은 순서로 연산을 해줍니다. 첫 번째 줄을 계산하기 위해 1~2번의 연산을 하고, 2번째 줄부터 마지막 줄까지 3~5번의 연산을 해 줌으로 dp로 값.. 2022. 4. 19.
[기술 면접] 데이터베이스 개념 정리 데이터베이스 ⟬ RDBMS vs NoSQL ⟭ RDBMS NoSQL 데이터 구조 2차원의 행과 열로 이루어진 테이블 형태 Document : JSON 형태 Key-value : key-value 페어 Wide-column : Row가 Column을 결정 Graph : 노드와 엣지 스키마 미리 정의된 스키마에 따라 데이터 저장 정의된 스키마 없어서 유연 성능 향상 Vertical(Scale-up) Horizontal(Scale-out) 장단점 정해진 스키마에 따라 데이터를 저장하기 때문에 데이터의 무결성 보장, 중복 방지 하지만 스키마가 정해져있기 때문에 변경 어려움 시스템이 커질수록 복잡한 쿼리 스키마가 없어 유연하기 때문에 데이터 변경에 용의, Scale-out 가능 중복된 데이터 저장 가능, 스키마가.. 2022. 4. 18.
[c++][백준 1194] 달이 차오른다, 가자. 백준 1194번: 달이 차오른다, 가자. [Gold1] https://www.acmicpc.net/problem/1194 1194번: 달이 차오른다, 가자. 첫째 줄에 미로의 세로 크기 N과 가로 크기 M이 주어진다. (1 ≤ N, M ≤ 50) 둘째 줄부터 N개의 줄에 미로의 모양이 주어진다. 같은 타입의 열쇠가 여러 개 있을 수 있고, 문도 마찬가지이다. 그리고, www.acmicpc.net 문제 풀이 이 문제는 BFS + 비트마스킹으로 구현했습니다. key를 비트마스킹으로 관리했는데, 아래와 같이 두 가지 경우가 있습니다. 'a' ~ 'f'를 만날 경우 key |= 1 열쇠를 집음 'A' ~ 'F'를 만날 경우 key & 1 열쇠가 있을 경우를 확인 visited는 key의 상태에 따라 관리 -> .. 2022. 4. 14.