일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 백준#BOJ#8012#한동이는영업사원
- 백준#boj#12755
- 백준#BOJ#12865#평범한배낭
- 백준#BOJ#14501#퇴사#브루트포스
- 백준#boj#16932#모양만들기
- 백준#BOJ#1939#중량제한
- 백준#BOJ#2615#오목
- Today
- Total
목록전체 글 (249)
순간을 성실히, 화려함보단 꾸준함을
www.acmicpc.net/problem/2937 2937번: 블록 정리 민혁 유치원에서는 아이들의 창의력과 인내력, 근력과 지구력, 잉여력과 탄성력, 판단력과 노력, 기력과 활동력, 활력과 달력, 내구력과 변형력, 응집력과 무력, 지력과 매력, 미력과 담력, 능력 www.acmicpc.net 문제 : 블록들이 막 쌓여져 있고 이를 옮겨서 직사각형을 만들고 싶다. 이때 보드의 한칸에 블록이 2개 이상 쌓이면 안되도록 만들어라. 해설 : www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 ..
안녕하세요.폭발토끼입니다. 이번 글은 그냥 정말 그냥 쓸데없고 아침부터 센치해져서 적는 뻘글입니다. 제 글들을 제 블로그를 몇명이나 방문해주시고 도움을 얻어가실지 모르지만 조금이나마 위안을 주고 싶어 적습니다. (그렇다고 저가 엄청난 실력을 가지고 있는 것도 아닙니다. 정말 못합니다.....ㅎㅎ) 정말 이제 막 알고리즘을 시작하시는 분이나 너무너무너무너무 힘들어하시는 초보분들을 위한 글입니다 많은 분들이 '알고리즘 문제 해결'에 관해 어려움을 겪습니다.(저 또한 마찮가지 입니다) 어렵죠.정말 어렵습니다. 고등학생때 수학문제 푸는 것도 힘들어 죽었는데 알고리즘 문제를 풀고 있는 모습이 아이러니 할 정도로 힘들고 고통스러운 시간입니다. 다른 사람은 몇분만에 문제를 해결하고, 코드도 훨씬 간결하게 짜고, 나보..
www.acmicpc.net/problem/1522 1522번: 문자열 교환 a와 b로만 이루어진 문자열이 주어질 때, a를 모두 연속으로 만들기 위해서 필요한 교환의 회수를 최소로 하는 프로그램을 작성하시오. 이 문자열은 원형이기 때문에, 처음과 끝은 서로 인접해 www.acmicpc.net 문제 : a와 b만 주어진 문자열이 있고, a를 연다라 놓고 싶을때 최소한으로 교환해야되는 횟수를 구하시오 해설 : 이런 문제가 은근히 안보이면 계속 안보입니다. 모든 문제를 접하게 될때 가장 중요한 개념 중 하나는 어떻게 하면 문제를 최대한으로 간소화 시킬 수 있을지 부터 생각해 보는겁니다(djm03178 님의 말씀입니다) 그러면 문제를 한번 봅시다. 우린 일단 직관적으로는 누구나 다 알고 있습니다. "요놈 a랑..
www.acmicpc.net/problem/1469 1469번: 숌 사이 수열 첫째 줄에 X의 크기 N이 주어진다. 둘째 줄에 X에 들어가는 수가 빈칸을 사이에 두고 주어진다. X의 크기는 10보다 작거나 같은 자연수이다. X의 원소는 0보다 크거나 같고 20보다 작거나 같은 정수 www.acmicpc.net 문제 : 현재 위치한 수와 같은 수 사이에는 이 수 만큼 수들이 존재하도록 수열을 만들어라 해설 : ,,,,,,이 문제 드럽게 힘들게 풀었습니다. 먼저 이 문제를 통해 브루트포스 부분이 약하다는 걸 뼈저리게 느꼈습니다.(열심히 다시 문제를 쭉쭉 풀어나가야겠어요) 첫번째로 막연하게 생각해볼 수 있는 방법은 '순열'입니다. 예제 케이스로 보면 112233 의 6개의 숫자들을 332211까지 돌아보면서 ..

이번글은 자바스크립트 공부하면서 이해가 안되었던 부분을 메모하고자 함. 그냥 내 머리가 안따라가서 메모하는 거임 getter와 setter 그리고 이것의 무한루프에 관한 이야기. class user{ constructor(firstName,lastName,age){ this.firstName = firstName; this.lastName = lastName; this.age = age; } } const user1 = new user('steve','job',-1); console.log(user1.age); 이런 코드가 있다. 그러면 당연히 출력은 -1이 출력이 된다. (굳이 캡쳐 안함) 그러나 우린 프로그램을 개발하는 입장에서 사용자가 중요한 정보를 함부로 건드리면 안된다.이를 위해 getter 와..
www.acmicpc.net/problem/2780 2780번: 비밀번호 각각의 Test case에 대해서 조건을 만족하는 비밀번호의 개수를 출력하라. 단, 수가 매우 커질 수 있으므로 비밀번호의 개수를 1,234,567으로 나눈 나머지를 출력하라. www.acmicpc.net 문제 : 길이 n 자리의 비밀번호를 만들 수 있습니다. 그러나 항상 인접한 번호만 누를수 있습니다. 이때 n이 주어질때 n자리의 비밀번호를 만들 수 있는 경우의 수를 구하시오 해설 : 다이나믹프로그래밍 문제입니다. 현재 '1'이라는 숫자를 눌렀다면 '2','4' 둘 중 하나를 누를 수 있죠. 이를 뒤집어서 생각해 보면 현재 '2'를 누르기 위해선 반드시 그 전에 '1','5','3' 중 하나를 누른 상태여야 된다는 것 입니다. 그..
www.acmicpc.net/problem/1022 1022번: 소용돌이 예쁘게 출력하기 첫째 줄에 네 정수 r1, c1, r2, c2가 주어진다. www.acmicpc.net 문제 : 회전하는 배열을 주어진 범위에 맞게 예쁘게 출력해라 해설 : 다른 분들보면 어떻게 공식을 도출해서 풀었던데 난 모르겠음;;;; 그래서 그냥 노가다로 품. 노가다로 푸는 방법도 효율적이게 문제에 접근해야 된다. 단순히 10000x10000 배열을 잡고 수들을 채우고 범위에 맞는 수들을 출력하게끔 하면 되겠지!!!라고 생각하면 안된다. 이유는 제한 메모리는 128MB 바이트인데 10000x10000 배열을 잡으면 범위를 넘어서기 때문.... 그러면 어떻게 해야되는 건가? 0 c1 >> r2 >> c2; go(r1, c1, r..
www.acmicpc.net/problem/20165 20165번: 인내의 도미노 장인 호석 사람을 화나게 하는 법은 다양하다. 그 중에서도 악질은 바로 열심히 세워놓은 도미노를 넘어뜨리는 것이다. 이번에 출시된 보드 게임인 "너 죽고 나 살자 게임"은 바로 이 점을 이용해서 2명이 www.acmicpc.net 문제 : 호석이가 도미노를 무너뜨린다. 이때 길이-1 만큼 넘어지고, 연다라 넘어진다. 넘어뜨린 후에는 한개의 도미노를 원상태로 만든다. 각 라운드마다 점수를 출력하고 보드의 상태를 출력해라 해설 : 뭐 해설이라고 할 것 없이 문제 그대로 구현만 침착하게 잘해주면 됩니다. 입력받은 보드를 직접적으로 사용하시게 되면 일관성이 깨져버리니 복사하여 그 복사한 보드를 가지고 열심히 동작시켜주면 됩니다. ..
www.acmicpc.net/problem/2406 2406번: 안정적인 네트워크 첫째 줄에 두 정수 n(1≤n≤1,000), m이 주어진다. n은 컴퓨터의 개수이며, m은 연결되어 있는 지사 컴퓨터들의 쌍의 개수이다. 다음 m개의 줄에는 두 정수 x, y가 주어진다. 이는 서로 다른 두 컴퓨터, www.acmicpc.net 문제 : 1번 노드는 모든 노드와 연결이 되어있고, 나머지 노드들간 관계가 주어진다. 이때 어떤 한 노드를 제거하더라도 모든 노드가 연결되어 있는 상태가 되도록 간선을 연결해라 해설 : 어떤 한 노드를 삭제했을때 모든 노드가 연결되게끔 해주면 되니, 한 노드를 하나씩 삭제해보고 mst를 만들면 되겠죠. 처음에 이렇게 풀었습니다. 그러나 시간이 어마어마하게 나오더라구요;;; 아마 삭제..
www.acmicpc.net/problem/20056 20056번: 마법사 상어와 파이어볼 첫째 줄에 N, M, K가 주어진다. 둘째 줄부터 M개의 줄에 파이어볼의 정보가 한 줄에 하나씩 주어진다. 파이어볼의 정보는 다섯 정수 ri, ci, mi, si, di로 이루어져 있다. 서로 다른 두 파이어볼의 위치 www.acmicpc.net 문제 : 파이어볼이 격자판에 존재하고 상태들을 입력받습니다(좌표,질량,속력,방향) 그리고 파이어볼은 상태의 조건에 맞게 움직입니다. 이때 주어진 단계를 수행합니다(단계는 귀찮아서 안적을게요;;;) 이때 k번의 반복작업을 수행한 후 남아있는 파이어볼의 질량의 합을 구하세요. 해설 : 지난 하반기 삼성문제였더라구요,,,,,(어쩐지 씨xxxxx ,,,,빡쎄더라 ㅠㅠㅠㅠ) 이런 ..
www.acmicpc.net/problem/2186 2186번: 문자판 첫째 줄에 N(1 ≤ N ≤ 100), M(1 ≤ M ≤ 100), K(1 ≤ K ≤ 5)가 주어진다. 다음 N개의 줄에는 M개의 알파벳 대문자가 주어지는데, 이는 N×M 크기의 문자판을 나타낸다. 다음 줄에는 1자 이상 80자 이하의 www.acmicpc.net 문제 : 문자가 적혀있는 판이 주어지고 이동할 수 있는 k 값이 주어집니다. 이때 주어진 문자열을 만들수 있는 경우의 수를 구해라! 해설 : 정말 너무너무 싫고 어려운 다이나믹 프로그래밍 문제입니다. 전 dp 정말 몬해용,,,,ㅠㅠ 일단 정말 간단하게 생각해서 단순히 dfs,bfs 를 사용해서 하나씩 탐색해서 구할 수도 있겠죠. 그러나, 문제는 항상 '중복'입니다. ex) ..
www.acmicpc.net/problem/1254 1254번: 팰린드롬 만들기 동호와 규완이는 212호에서 문자열에 대해 공부하고 있다. 규완이는 팰린드롬을 엄청나게 좋아한다. 팰린드롬이란 앞에서부터 읽으나 뒤에서부터 읽으나 같게 읽히는 문자열을 말한다. 동호는 www.acmicpc.net 문제 : 팰린드롬 만들기까지 문자열 뒤에 몇개를 붙여 만들 수 있는가? 해설 : 팰린드롬 진짜 너무 싫네요 ㅠㅠㅠ 한번 꼬이면 반례가 안보여.....ㅠㅠ 먼저 필자는 팰린드롬이 무조건 '홀수'여야 된다고 잘못 생각했음.(멍청한 자식) 짝수도 되죠,,,, 맨 마지막 문자를 기준으로 모든 경우의 수를 확인해 보는 방식으로 풀었습니다. 1 - 0(L)번 인덱스와 맨 마지막 문자(R) 2 - 1번 인덱스와 맨 마지막 문자 ..