목록전체 글 (88)
블로그 언저리인 무언가
문제 : 4388 받아올림 4388번: 받아올림 어린이에게 여러자리 숫자의 덧셈을 가르칠 때는 오른쪽 자리부터 왼쪽으로 하나씩 계산하는 방법을 가르쳐준다. 이때, 받아올림이 발생하게 되며 아이들은 여기서 혼란에 빠진다. 받아올림이� www.acmicpc.net 두 수를 입력받아 덧셈을 할 때, 받아올림이 일어나는 횟수를 출력하는 문제이다. 두 수의 끝자리부터 순서대로 더하면서 받아올림이 생기는 경우를 체크해주면 된다. Code #include #define ll long long using namespace std; int main(){ ios::sync_with_stdio(0); cin.tie(0); while (1){ ll a, b, ans=0; cin >> a >> b; if (a==0 && b==..
문제 : 9370 미확인 도착지 9370번: 미확인 도착지 (취익)B100 요원, 요란한 옷차림을 한 서커스 예술가 한 쌍이 한 도시의 거리들을 이동하고 있다. 너의 임무는 그들이 어디로 가고 있는지 알아내는 것이다. 우리가 알아낸 것은 그들이 s지점에서 www.acmicpc.net 예술가들의 출발지와 목적지 후보가 주어졌을때, 어떤 도로를 지나서 최단거리로 갈수있는 모든 후보를 출력하는 문제이다. Dijkstra 알고리즘을 사용해 출발지~도착지까지의 최단거리가 출발지~교차로+도로의 길이+교차로~도착지의 최단거리와같은 경우를 찾아 출력하면 된다. Code #include #define ll long long #define INF 1e9+7 using namespace std; struct ABC{ ll ..
#include // gcc에서 대부분의 헤더를 포함하는 헤더파일 #define ll long long //long long 축약 #define INF 1e9+7 // 최대값 #define MOD (ll)(1e9+7) // 나머지계산 using namespace std; typedef pair pll; // pair 축약 // 구조체 만들기 struct Edge{ ll idx, dst; Edge() {} Edge(ll a, ll b): idx(a), dst(b) {} }; struct dice{ ll arr[3][2]; dice() {} dice(ll a, ll b, ll c, ll d, ll e, ll f) : arr{{a,f},{b,d},{c,e}} {} }; // 구조체 비교함수(우선순위 큐에 자주..
문제 : 1753 최단경로 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1≤V≤20,000, 1≤E≤300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1≤K≤V)가 주어진다. www.acmicpc.net 방향 그래프가 주어졌을 때, 시작점에서 다른 모든 점까지의 최단경로를 구해 출력하는 문제이다. Dijkstra 알고리즘을 사용해 순회한 후 경로가 존재하는지 체크해 배열의 값을 출력하면 된다. Code #include #define ll long long #define INF 987654321 using namespace std; typedef pair pll; struct ABC { ll idx, dst; ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/trL9C/btqJpheI5hC/PXTDzpfhnvmoq7k9GTHoSk/img.gif)
일단 저번에 가장 중요한 부분들은 구현을 얼추 했으니 이제부터는 좀 부가적인 기능을 만들기로 했다. 내 목표는 아무것도 없이 마작 패만 있을 때도 웹사이트만 켜면 다른 모든 것을 할 수 있는 것이었기 때문에 가장 먼저 떠오른 주사위를 굴리는 기능을 만들기로 했다. 처음에는 이미지를 가져와서 쓸까 하다가 그냥 그리드 그리는 법을 연습하는 셈 치고 손수 도트를 찍어서 주사위 모양을 만들었다. 굴리기 버튼을 눌렀을 때 바로 주사위가 나오니 너무 밋밋해서 setInterval함수를 사용해 주사위가 여러 번 나오는 모션을 만들었다. 주사위를 만들고 나니까 점수가 바뀔 때에도 모션이 있으면 좋겠다는 생각을 해서 만들기 시작했다. 여기에서도 똑같이 setInterval함수를 사용해서 점수가 변할 때 한 번에 바뀌지 ..
뭔가 한 게 없는 것 같은데 2020년이 100일도 안 남았다고 한다. 어제 썼으면 99일 남아서 딱이었는데 다음날이 돼버렸다. 이번 연도는 뭐 수업도 다 온라인으로 진행하다 보니까 내가 대학생이긴 한데 그런 체감도 별로 안 들고 강의가 다 싸강이라 미루게 되고 집중이 안돼서 안 듣게 된다. 저번 학기엔 기말고사 치는 5일이 다 격일이라 전날에 20시간씩 몰아 듣고 나서 겨우 시험 쳐서 이번에는 좀 미리 싸강 좀 듣고 여유롭게 공부해야지 했는데 벌써 3-4주 치 밀린 과목이 수두룩하다. 42서울 신청한 게 드디어 10월 5일부터로 확정이 나서 다행이긴 한데 또 추석 때 집단감염이 크게 터져서 미뤄지진 않을까 걱정이다. 원래 내 플랜은 42서울을 여름 기간에 딱 하고 그거 기반으로 공부를 하면 좀 산업체 ..
문제 : 17953 디저트 17953번: 디저트 창호는 매일 점심마다 디저트를 먹는다. 그런데 같은 디저트라도 매일 느끼는 맛이 달라진다. 어떤 날에는 마카롱을 먹고 매우 행복함을 느끼는 반면 어떤 날에는 ‘차라리 케이크를 먹는게 나� www.acmicpc.net 각 날마다 디저트가 주는 만족감이 주어질 때, 최대로 얻을 수 있는 만족감을 출력하는 문제이다. 날짜를 N, 디저트의 종류를 M이라 할 때 그냥 모든 경우의 수를 구하면 O(M^N)이므로 당연히 시간 초과가 난다. DP 배열을 만들어 전날까지의 만족감 중 최대를 골라 계속 갱신해주면 O(N*M^2)로 시간제한 안에 해결할 수 있다. Code #include #define ll long long using namespace std; ll N, M..