목록전체 글 (217)
Study hard

https://programmers.co.kr/learn/courses/30/lessons/83201# 코딩테스트 연습 - 2주차_상호평가 [[100,90,98,88,65],[50,45,99,85,77],[47,88,95,80,67],[61,57,100,80,65],[24,90,94,75,65]] "FBABD" [[70,49,90],[68,50,38],[73,31,100]] "CFD" programmers.co.kr [풀이] i번 학생이 자신에게 준 점수가 자신이 받은 점수 중 유일한 최저점이거나 유일한 최고점이면 평균을 구하는 식에서 제외한다. #include #include #include //sort using namespace std; string solution(vector scores) { s..

https://www.acmicpc.net/problem/21610 21610번: 마법사 상어와 비바라기 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기 www.acmicpc.net [풀이] 구현한 것(함수) 1. 구름 이동 함수 (d와 s를 받는 즉시 호출) s는 s%N으로 최소화하여 움직이는 시간 줄이기 2. 각 구름에서 비가 내려 구름이 있는 칸의 바구니에 물+1 함수 *문제에서는 이 다음에 구름이 사라지지만, 구현할 때는 다음 함수에서 사용하기 위해 구름 위치 정보를 남겨둠 3. 물복사버그 함수 -> 구름 위치 정보 삭제(p_Cloud) 4. bool Cloud..

https://www.acmicpc.net/problem/21609 21609번: 상어 중학교 상어 중학교의 코딩 동아리에서 게임을 만들었다. 이 게임은 크기가 N×N인 격자에서 진행되고, 초기에 격자의 모든 칸에는 블록이 하나씩 들어있고, 블록은 검은색 블록, 무지개 블록, 일반 블록 www.acmicpc.net [풀이] 구현한 것(함수) 1. 블록그룹 정보 저장 함수(bfs)-> vector에 저장하여 sort 활용하여 가장 큰 그룹 찾기 2. 가장 큰 블록 삭제하는 함수(bfs) 3. 블록들을 밑으로 내리는 함수 4. 시계 반대 방향으로 90도 돌리는 함수(바깥 -> 안 순서로 돌리기) #include #include //sort #include //memset #include #include //..

https://www.acmicpc.net/problem/21608 21608번: 상어 초등학교 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호 www.acmicpc.net [풀이] |r1 - r2| + |c1 - c2| = 1을 만족하는 두 칸 (r1, c1)과 (r2, c2)를 인접한 칸이라고 한다. => 어떤 칸의 상하좌우에 있는 칸이 인접한 칸이다. 학생의 번호와 그 학생이 좋아하는 학생들의 번호를 저장하는 struct 자료구조를 만들어 입력을 받아 순서대로 어디에 자리를 배치할지 탐색한다. 빈칸들마다 주변에 좋아하는 학생 수, 빈칸 수를 저장하여 ..

https://www.acmicpc.net/problem/2671 2671번: 잠수함식별 입력에 들어있는 스트링을 읽고, 이것이 잠수함의 엔진소리를 나타내는 스트링인지 아니면 그냥 물속의 잡음인지를 판정한 후, 잠수함의 엔진 소리에 해당하는 스트링이면 "SUBMARINE"을 출력하고 www.acmicpc.net [풀이] regex정규표현식을 사용하여 문제를 풀었다. 문제의 엔진소리 패턴을 문자열로 정의해두고, 입력된 문자열이 패턴과 같으면 "SUBMARINE"을, 그렇지 않으면 "NOISE"를 출력하도록 하였다. #include #include //정규표현식 #include using namespace std; string str; int main() { cin >> str; string engine =..

https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net [풀이] 이분탐색을 사용하여 풀었다. ※이분탐색을 하려면 배열 A를 정렬시켜야 하므로 vector자료구조를 사용하였다. #include #include #include //sort using namespace std; int N, M; vectorA; void Search(int n) { int front = 0, rear = N - 1; while..