목록전체 글 (591)
어흥
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/62048 코딩테스트 연습 - 멀쩡한 사각형 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 programmers.co.kr 1. 주의할 점 - 최대공약수로 접근한다 - 직선이 정사각형의 변에 걸친 경우를 고려한다 - Long Long과 Double을 이용하여 연산이 변수의 최대값을 벗어나지 않도록 한다 2. 구현 - GCD() 함수를 통해 W와 H의 최대공약수를 구한다 - W와 H를 최대공약수로 나눈다 - Cal() 함수를 통해 바뀐 W x H..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/1829 코딩테스트 연습 - 카카오프렌즈 컬러링북 6 4 [[1, 1, 1, 0], [1, 2, 2, 0], [1, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 3], [0, 0, 0, 3]] [4, 5] programmers.co.kr 1. 주의할 점 - 같은 색일때에만 큐에 넣는다 2. 구현 - Check[][] 배열을 초기화한다 - Pictures[][] 배열에 대해 0이 아니고 확인하지 않은 곳이라면 BFS를 수행한다 - 4가지 방향 탐색을 하며 같은 색이고 방문하지 않았다면 Queue에 추가한다 #include #include #include using namespace std..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/42862 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 1. 주의할 점 - 그리드 알고리즘으로, 상황에 맞게 잘 설계한다 2. 구현 - 처음엔 DFS를 통해 해결했지만, 굳이 DFS를 사용하지 않아도 될것 같다 - Arr[] 배열을 통해 현재 보유한 체육복 수 -1만큼 저장한다 - For문을 통해 만약 현재 체육복 미소지자면 양옆 사람을 확인하여 대여가 가능하다면 대여를 한다. - 이후, 현재 체육복을 1..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/42842 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 programmers.co.kr 1. 주의할 점 - 2중 For문은 최대한 사용하지 않도록 한다 2. 구현 - Brown = 2*(Row-1)+2*(Col-1) 을 통해 rowPlusCol 값을 구한다 - For문을 통해 Row와 Col값을 구하여 Answer에 추가한다 #include #include using namespace std; vector solution(int b..
문제 링크: https://www.acmicpc.net/problem/18235 18235번: 지금 만나러 갑니다 첫 번째 줄에 세 정수 N, A, B가 주어진다. (2 ≤ N ≤ 500,000, 1 ≤ A, B ≤ N, A ≠ B) www.acmicpc.net 1. 주의할 점 - 구간은 [1,len]이다 - 같은 점을 다른 Day에 방문할 수 있다 Ex) 구간: [1,10] 시작위치: 5 목표위치: 4 방법1: 5 → 4 방법2: 5 → 6 → 4 방법3: 5 → 6 → 8 → 4 각 방법으로 5→4로 갈 수 있는 날은 1,2,3일에 모두 도달 가능 2. 구현 - Arr[] 배열을 통해 해당 위치에 방문한 날을 적는다 - Info 구조체를 이용하여 현재 위치, 날, 점프 거리를 담는다 - Queue를 ..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/86052 코딩테스트 연습 - 빛의 경로 사이클 각 칸마다 S, L, 또는 R가 써져 있는 격자가 있습니다. 당신은 이 격자에서 빛을 쏘고자 합니다. 이 격자의 각 칸에는 다음과 같은 특이한 성질이 있습니다. 빛이 "S"가 써진 칸에 도달한 경우, 직진 programmers.co.kr 1. 주의할 점 - 사이클 여부를 판단해야 한다 - 4방향 탐색을 거친다 2. 구현 - Check[y][x][dir] 배열을 통해 각 (y,x)에 dir방향에서 들어온 적이 있는지 확인한다 - Check[][][] 값이 false면 Dfs()를 통해 해당 지점과 방향에서 시작하여 만드는 사이클을 구한다 - Dfs() 내부..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/87946 코딩테스트 연습 - 피로도 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던 programmers.co.kr 1. 주의할 점 - 최소 피로도 ≥ 소모 피로도 2. 구현 - 최소 피로도를 needEnergy[] 배열에 담는다 - 소모 피로도를 useEnergy[] 배열에 담는다 - check[] 배열을 통해 던전 탐험 유무를 체크한다 - DFS()를 수행하며 남은 피로도가 최소 피로도 이상이며, 탐험하지 않은 던전인 경우, 탐험을 한다 #include..
1. Stateful v.s Stateless? Stateful(연결통신) Stateless(비연결통신) 종류 TCP UDP, HTTP 2. HTTP는 왜 비연결통신일까? : 이전 요청과 다음 요청이 연결되어 있지 않다. 하나의 요청/응답 안에서는 연결된 상태로 통신 3. HTTP는 TCP와 UDP 어떤것을 사용할까? : 통상 TCP 소캣 통신을 한다. 다만, 스트리밍 서비스에서는 UDP를 사용하는 경우도 존재한다 [참고 자료] - https://okky.kr/article/787738