전체 글
[자취라이프] 대전에서 1일차
7월 11일부터 에트리 하계연구연수생 과정을 위해 대전에 올라와 자취를 시작하게 되었습니다. 처음 해보는 자취이기도 하고 인턴과정이 끝나면 학교로 돌아가서 또 자취를 하기 때문에 짐을 좀 많이 챙겨서 왔습니다. 마산에서 대전까지 거리는 약 227km... 2시간 반이 넘는 거리를 운전하는 것은 군대에서 장거리 운행을 뛴 뒤로는 거의 처음이었습니다... 또 요즘 고유가 시대이기 때문에 연비 운전을 한답시고 살금살금 왔기 때문에 시간은 조금 더 걸렸던 것 같습니다. 오후 4시에 공인중개사 사무소을 방문해서 계약을 마무리 짓고 잔금도 바로 입금하고 입주를 하려고 했습니다. 그러나 대전에 도착한 뒤로 공인중개사 분이 연락이 안되는겁니다 ㅠㅠ 내일 당장 출근 해야하고, 짐은 차 안에 가득 들어있고, 아는 사람도 ..
[Beakjoon] 백준 9237번 Python
Beakjoon 9237, 이장님 초대 solved.ac Silver5 Greedy알고리즘 문제 농부 상근이는 마당에 심기 위한 나무 묘목 n개를 구입했다. 묘목 하나를 심는데 걸리는 시간은 1일이고, 상근이는 각 묘목이 다 자라는데 며칠이 걸리는지 정확하게 알고 있다. 상근이는 마을 이장님을 초대해 자신이 심은 나무를 자랑하려고 한다. 이장님을 실망시키면 안되기 때문에, 모든 나무가 완전히 자란 이후에 이장님을 초대하려고 한다. 즉, 마지막 나무가 다 자란 다음날 이장님을 초대할 것이다. 상근이는 나무를 심는 순서를 신중하게 골라 이장님을 최대한 빨리 초대하려고 한다. 이장님을 며칠에 초대할 수 있을까? 입력 입력은 두 줄로 이루어져 있다. 첫째 줄에는 묘목의 수 N (1 ≤ N ≤ 100,000)이 ..
[회고록] 3학년 1학기가 사라졌다.
순식간에 사라진 3학년 1학기 이번학기는 시간이 정말 빨리 갔던 학기였습니다. 기숙사 통금 시간이 넘어버려서 연구실에서 자는 경우도 많았고 식사도 거의 연구실에서 배달을 시켜 먹었습니다. 학술 동아리 활동도 열심히 하고 개인적인 공부도 이전에 비해서 많이 하고 이렇게 블로그도 만들어서 작성하는 등 저에게 도움이 될 만한 것들을 많이 해줬습니다. 그러다 보니 벌써 한 학기가 끝나고 여름 방학이 되었습니다. 연구실 사람들과 사소한 거에도 웃으며 즐거운 한 학기를 보냈습니다. 같이 웃고 떠들던 연구실 사람들과 방학동안 못보게 되는게 시원섭섭하긴 합니다. 이번 학기에도 들어가게 된 기숙사 자취를 할까 기숙사를 들어갈까 고민을 많이 했습니다. 2학년 2학기의 기숙사 생활이 좋아서 이번 학기에도 기숙사에 들어가는 ..
[ETRI] 갑작스러운 에트리 하계 연구 연수생(인턴) 추가 합격
시험기간을 녹여가며 작성했던 자기소개서로 에트리 하계 연구 연수생(인턴과정)을 신청했다가 합격 발표날인 6월 20일 날 안타깝게도 예비합격자(떨어짐)가 되었습니다. 주변에 바로 합격된 친구는 한 명 밖에 없었고 같이 지원했던 친구들도 다 예비 합격을 받았습니다. 그래서 별 기대 없이 학교 앞 자취방을 계약하고 입주를 6월 28일을 기준으로 3일 앞두고 있었는데요 이날 점심쯤 한국 전자 통신 연구원(ETRI)에서 연락이 왔습니다. 처음에 042라는 지역번호로 전화가 왔었는데 모르는 지역번호여서 안 받고 넘겼습니다. 그러다가 한 시간 뒤에 메시지로 연락이 왔습니다. 깜짝 놀라서 급하게 이메일을 확인해봤습니다. ??? 예비합격자로 선발되신 분들이라고 적혀 있어 다른사람들 한테 모두 갔나 싶었습니다. 그래서 같..
[Beakjoon] 백준 1026번 Python
Beakjoon 1026, 보물 solved.ac Silver4 Greedy 알고리즘 문제 옛날 옛적에 수학이 항상 큰 골칫거리였던 나라가 있었다. 이 나라의 국왕 김지민은 다음과 같은 문제를 내고 큰 상금을 걸었다. 길이가 N인 정수 배열 A와 B가 있다. 다음과 같이 함수 S를 정의하자. S = A[0] × B[0] + ... + A[N-1] × B[N-1] S의 값을 가장 작게 만들기 위해 A의 수를 재배열하자. 단, B에 있는 수는 재배열하면 안 된다. S의 최솟값을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 10..
[Beakjoon] 백준 1789번 Python
Beakjoon 1789, 수들의 합 solved.ac Silver5 Greedy 알고리즘 문제 서로 다른 N개의 자연수의 합이 S라고 한다. S를 알 때, 자연수 N의 최댓값은 얼마일까? 입력 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. 출력 첫째 줄에 자연수 N의 최댓값을 출력한다. Solution n = int(input()) count = 0 cnt = 0 if n == 1: print(1) exit() for i in range(0,n): count += i + 1 if count > n: print(cnt) break cnt += 1 풀이 1 + 2 + 3 + ... + N을 반복합니다. cnt는 더하는 횟수이며 이는 서로 다른 수가 됩니다. 그리고 count는 ..
[Beakjoon] 백준 12981번 Python
Beakjoon 12981, 공 포장하기 solved.ac Silver5 Greedy 알고리즘 문제 빨간 공 R개, 초록 공 G개, 파란 공 B개를 가지고 있다. 오늘은 이 공을 박스로 포장하려고 한다. 박스에는 공이 1개, 2개, 또는 3개 들어갈 수 있다. 박스에 들어가는 공의 색은 모두 다르거나, 모두 같아야 한다. 필요한 박스 개수의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 R, G, B가 주어진다. (1 ≤ R, G, B ≤ 100) 출력 첫째 줄에 필요한 박스 개수의 최솟값을 출력한다. Solution R, G, B = map(int, input().split()) count = R // 3 + G // 3 + B // 3 while True: if R % 3 == 0 and G..
[Beakjoon] 백준 1417번 Python
Beakjoon 1417, 국회의원 선거 solved.ac Silver5 Greedy 알고리즘 문제 다솜이는 사람의 마음을 읽을 수 있는 기계를 가지고 있다. 다솜이는 이 기계를 이용해서 2008년 4월 9일 국회의원 선거를 조작하려고 한다. 다솜이의 기계는 각 사람들이 누구를 찍을 지 미리 읽을 수 있다. 어떤 사람이 누구를 찍을 지 정했으면, 반드시 선거때 그 사람을 찍는다. 현재 형택구에 나온 국회의원 후보는 N명이다. 다솜이는 이 기계를 이용해서 그 마을의 주민 M명의 마음을 모두 읽었다. 다솜이는 기호 1번이다. 다솜이는 사람들의 마음을 읽어서 자신을 찍지 않으려는 사람을 돈으로 매수해서 국회의원에 당선이 되게 하려고 한다. 다른 모든 사람의 득표수 보다 많은 득표수를 가질 때, 그 사람이 국회..
[Beakjoon] 백준 2839번 Python
Beakjoon 2839, 설탕 배달 solved.ac Silver4 Greedy 알고리즘 문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다. 상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다...
[Beakjoon] 백준 11399번 Python
Beakjoon 11399, ATM solved.ac Silver4 Greedy 알고리즘 문제 인하은행에는 ATM이 1대밖에 없다. 지금 이 ATM앞에 N명의 사람들이 줄을 서있다. 사람은 1번부터 N번까지 번호가 매겨져 있으며, i번 사람이 돈을 인출하는데 걸리는 시간은 Pi분이다. 사람들이 줄을 서는 순서에 따라서, 돈을 인출하는데 필요한 시간의 합이 달라지게 된다. 예를 들어, 총 5명이 있고, P1 = 3, P2 = 1, P3 = 4, P4 = 3, P5 = 2 인 경우를 생각해보자. [1, 2, 3, 4, 5] 순서로 줄을 선다면, 1번 사람은 3분만에 돈을 뽑을 수 있다. 2번 사람은 1번 사람이 돈을 뽑을 때 까지 기다려야 하기 때문에, 3+1 = 4분이 걸리게 된다. 3번 사람은 1번, 2..