전체 글 223

[백준] 11003번: 최솟값 찾기

https://www.acmicpc.net/problem/11003 11003번: 최솟값 찾기 N개의 수 A1, A2, ..., AN과 L이 주어진다. Di = Ai-L+1 ~ Ai 중의 최솟값이라고 할 때, D에 저장된 수를 출력하는 프로그램을 작성하시오. 이때, i ≤ 0 인 Ai는 무시하고 D를 구해야 한다. www.acmicpc.net 문제 이해 구현보다는 수가 크기 때문에 아이디어를 내는 것이 조금 어려운 문제였다. 기본적으로 슬라이딩 윈도우를 써야겠다!고는 생각했으나, 잘 안되서 결국 인터넷 검색을 참고했다. 기본 C로는 배열을 이용해서 덱을 구현해야 할 것 같으나, C++을 써서 deque 라이브러리를 이용했다. deque(덱)은 queue와 달리 앞으로도 넣을 수 있는 구조이다. 덱에 숫자..

[백준] 7569번: 토마토

https://www.acmicpc.net/problem/7569 7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net 문제이해 https://chagaun-omija.tistory.com/74 [백준] 7576번: 토마토 https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다... chagau..

[백준] 2933번: 미네랄

https://www.acmicpc.net/problem/2933 2933번: 미네랄 창영과 상근은 한 동굴을 놓고 소유권을 주장하고 있다. 두 사람은 막대기를 서로에게 던지는 방법을 이용해 누구의 소유인지를 결정하기로 했다. 싸움은 동굴에서 벌어진다. 동굴에는 미네랄 www.acmicpc.net 나머지 예제 생략 문제에 예외 상황이 없어서 예제는 다 맞히고 자꾸 틀려서 스트레스 받는 문제다 ㅎㅎ 일단 기본 원리들을 정리해보면, 1. 막대를 던지기 (Throw_Stick()) 그냥 왼쪽에서부터/오른쪽에서부터 탐색하다가 미네랄이면 부시면 됨 void Throw_Stick(int n) { if (n % 2 == 0) { // 왼쪽에서 오른쪽으로 던짐 for (int i = 0; i < C; i++) { if..

[백준] 1260번: DFS와 BFS

https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 그냥 아주 간단하게 BFS 한 번, DFS 한 번 돌려주면 된다. BFS를 돌릴 때 항상 visited 배열을 초기화하는 거랑 queue 초기화를 잊지 말자! #include int N, M, V; // 노드, 간선, 시작 노드 int map[1000+5][1000+5]; int visited[1000 + 10]; void Get_Input(void) { in..

[백준] 13458번: 시험 감독

아주 간단한 문제인데, 문제에 말이 조금 헷갈리고, 타입이 주요했던 문제이다. '오직 1명만' 이라는 말은 1명이 반드시 있고, 2명 이상은 안된다는 뜻인가보다. (1명이 반드시 있어야 하는 지가 아리까리 했음) 그리고, 총 1000000칸인데, 모든 칸이 1000000명이고, 감독관 1인이 감시할 수 있는 학생 수가 1명이라면, 최종 답이 1000000 * 1000000 이 될 수 있기 때문에, int안에 안들어온다! (정답률이 낮은 건 이거 때문인듯) #include #define MAXN 1000000 int N; int map[MAXN + 10]; int B, C; // 총감독관, 부감독관 int main(void) { //freopen("in.txt", "r", stdin); scanf("%d"..

[소설 번역] 니시아적영요(고만) - 제3장

http://www.jjwxc.net/onebook.php?novelid=3429203&chapterid=4 《콱角乖돨휠郎》믓찻 ^뒤4覽^ 離劤뫘劤:2017-12-14 20:05:18 쐈쉭匡欺냘 www.jjwxc.net 일단 결정을 하자, 링사장은 전등석화와 같이 일을 처리했다. 교정정이 헝디엔에서 촬영을 마치고 나서 팀은 상해로 돌아왔고, 특별 훈련에 돌입했다. 그녀는 매우 철저하게 준비했다. 새로운 계정, 경기용 핸드폰, 선생님까지도 완전히 준비했다. 바로 링사장의 남편 아국이었다. 링사장과 그녀의 남편은 어릴적부터 친구였다가 결혼을 했고, 원래 아국은 꽤 괜찮은 직업을 갖고 있었지만 링사장이 잘나가게 되자 아이를 돌보기가 힘들었고, 아국이 사업을 희생하고 가정을 가꾸기 시작했는데, 시간이 날때마다 ..

중국어 2021.11.15

[소설 번역] 니시아적영요(고만) - 제2장

http://www.jjwxc.net/onebook.php?novelid=3429203&chapterid=3 《콱角乖돨휠郎》믓찻 ^뒤3覽^ 離劤뫘劤:2017-12-14 20:02:03 쐈쉭匡欺냘 www.jjwxc.net 이 일을 시작한지 7~8년째, 만약 교정정에게 무서운 게 있냐고 묻는다면 그 중 하나는 필시 웨이보 검색순위일 것이다. 지금 웨이보 검색순위 1위는 "교정정 이미지 박살"였다. 눌러서 들어가보니 가장 인기 있는 글은 어떤 영업 계정이 올린 영상이었는데, 영상에는 선선발광이라는 아이디를 가진 사람이 왕자영요를 하고 있었고, 수준은 그야말로 엉망진창이라고 할 수 있었다. 얼마나 죽어대는지 눈뜨고 볼 수 없을 지경이었다. 그 영업계정은 몇 개의 화면 캡처를 함께 게시했는데, 앞에 몇 장은 선선..

중국어 2021.11.14

[소설 번역] 니시아적영요(고만) - 제1장

제1장 폭로군, 내가 너에게 아주 큰 폭로 건수를 주지. 나는 x시의 z고등학교를 나왔고, 지금 엄청 핫한 여자 연예인과 같은 반 학생이었다. 누군지 바로 알 수 있겠지? 사실 걘 고등학교 때 별로였어. 그래, 예쁘지 않은 건 아니었지만 지금보다 훨씬 별로였지. 아마 성형을 했겠지? 어쨌든 그때 우리반 최고 미녀, 우리 학교 최고 미녀는 걔가 아니라 엄청 예쁜 우등생이었다. 내가 말하는 여배우, 그냥 q라고 부르지, 걔는 엄청 허영스럽고 항상 돈있는 집 애인 것처럼 굴었다. 나중에 알고보니 걔네 아빠는 그냥 전기수리공이었고, 전체 반 애들이 걔를 얼마나 비웃었는지 몰라. 거의 모든 여자애들은 걔를 엄청 싫어했었지. 우리반에는 당시에 공부의 신이라고 불리는 애가 있었다. 우리 반은 전교에서 가장 우등반 (..

중국어 2021.11.13

[SWEA] 2382. 미생물 격리

문제 이해 시뮬레이션 문제이다. 시간의 흐름에 따라 어떻게 움직이는지, 예외 상황 파악 등이 중요한 문제였다. 일단 군집 배열을 둔다. (군집의 위치, 미생물 수, 방향 등을 저장하는 배열이다.) 군집은 최대 1000개이고, 시간은 최대 1000이니까, 각 시간 별로 군집에 대한 처리를 하면 1000*1000 이라 시간 내에 들어온다. 그래서 그냥 루프를 돌리면 되겠다고 생각했다. 루프를 돌면서 할 것은, 1. 위치를 옮겨준다. 2. 만약 약품이 있는 위치이면 미생물 수를 반으로 감소시키고, 방향을 바꿔준다. 3. 만약에 해당 위치에 여러 군집이 모이면, 그 중 가장 큰 군집으로 모아버리고 나머지 군집은 소멸되었다 생각한다. Trouble shooting: 처음에는 군집마다 저 세 단계를 처리하는 식으로..

[SWEA] 5644. 무선 충전

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRDL1aeugDFAUo& SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 이해 0초부터 M초까지 이동하면서 해당 위치에서 두 사람이 충전할 수 있는 최댓값을 구해서 더해주면 된다. 문제 이해는 어렵지 않지만, 가능한 최대 충전값을 찾는 게 좀 까다롭다. 나는 decide라는 함수를 만들어서 특정 시간에서 A와 B가 충전할 수 있는 최댓값을 반환하도록 했다. 우선 각 충전소를 보면서 A, B와의 거리가 그 충전소의 충전범위 내인지를 확인하여, acan, bcan이라..