전체 글

흔적을 남기기 위한 부던한 노력들
알고리즘/백준

[BOJ] 1229 - 육각수 (Java)

1229번: 육각수 육각수는 육각형을 이용해 정의할 수 있다. hn은 한 변에 점 1, 2, ..., n개가 있는 육각형을 점 하나만 겹치게 그렸을 때 존재하는 서로 다른 점의 개수이다. 그림 1 그림1은 h1, h2, h3, h4를 의미하며, www.acmicpc.net 접근법 점화식을 잘 세우면 금방 풀 수 있는 문제 이 식을 잘 도출할 수 있다면 다음 필요한 dp를 구하는 것은 어렵지 않다. 육각수 배열을 h라 할 때, dp[n]은 h[i]값이 n을 넘지 않는 한에서, dp[n-h[i]]의 최솟값을 구하면 된다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ja..

SSAFY

[SSAFY] 싸피 10기 최종 합격 후기 (전공자)

싸피 10기를 준비하면서 느꼈던 점과 준비했던 방법들에 대해 보안 서약서에 저촉되지 않는 선에서 적어보려 합니다. 이후 기수를 준비하시는 분들이 많은 도움을 얻어가시면 좋겠습니다! 들어가기에 앞서.. 이 회고록은 저의 기록이자, 이후 준비하고자 하는 사람들에게 도움이 됐으면 하는 바람에서 적는 글입니다. 참고용으로만 확인하시고 본인의 방법대로 준비하는 것이 가장 좋습니다. 작고 소중한 나의 스펙 국립 지방대 졸업 ( 학점 : 3.83 / 4.5 ) 교내 수상 경험 1회 네이버 부스트캠프 AI Tech 수료 중 (퇴소 예정) 웹개발 관련 프로젝트 경험 거의 없음 이처럼 하찮은 스펙이기 때문에 관련 지식들과 프로젝트 경험을 쌓고 싶어 지원하게 됐습니다. 지원하시는 분들께서는 내가 왜 싸피가 필요하고, 싸피에..

알고리즘/백준

[백준] 1005-ACM Craft (Python)

1005번: ACM Craft 첫째 줄에는 테스트케이스의 개수 T가 주어진다. 각 테스트 케이스는 다음과 같이 주어진다. 첫째 줄에 건물의 개수 N과 건물간의 건설순서 규칙의 총 개수 K이 주어진다. (건물의 번호는 1번부 www.acmicpc.net 문제 더보기 문제 서기 2012년! 드디어 2년간 수많은 국민들을 기다리게 한 게임 ACM Craft (Association of Construction Manager Craft)가 발매되었다. 이 게임은 지금까지 나온 게임들과는 다르게 ACM크래프트는 다이나믹한 게임 진행을 위해 건물을 짓는 순서가 정해져 있지 않다. 즉, 첫 번째 게임과 두 번째 게임이 건물을 짓는 순서가 다를 수도 있다. 매 게임시작 시 건물을 짓는 순서가 주어진다. 또한 모든 건물은..

파이썬 함수

[파이썬] 문자열로 함수를 호출하는 함수 locals()

백준 문제를 풀다 보면 주어지는 문자열에 따라 다른 작업을 해야 하는 문제가 종종 있다. 단순히 if와 elif를 반복하며 실행해도 되지만 좀 더 깔끔하게 구현할 수 있는 방법이 없을까 찾다 보니 locals()라는 함수를 알게 되었다. def just_print(whatever): print(whatever) print(locals()) 이러한 코드가 작성되어 있는 파일에서 locals()를 출력해보면 이런 식으로 현재 파이썬 파일에 정의되어 있는 함수들이 dictionary 형식으로 출력되는 것을 볼 수 있다. 정의해놓은 "just_print"도 잘 나오는 모습. 그렇다면 우리는 문자열로 함수에 접근할 수 있게 된다. 예를 들어 input()으로 "just_print"라는 문자열을 받게 되면 loca..

알고리즘/백준

[백준] 1744 - 수 묶기 (Python)

1744번: 수 묶기 길이가 N인 수열이 주어졌을 때, 그 수열의 합을 구하려고 한다. 하지만, 그냥 그 수열의 합을 모두 더해서 구하는 것이 아니라, 수열의 두 수를 묶으려고 한다. 어떤 수를 묶으려고 할 때, 위치에 www.acmicpc.net 더보기 문제 길이가 N인 수열이 주어졌을 때, 그 수열의 합을 구하려고 한다. 하지만, 그냥 그 수열의 합을 모두 더해서 구하는 것이 아니라, 수열의 두 수를 묶으려고 한다. 어떤 수를 묶으려고 할 때, 위치에 상관없이 묶을 수 있다. 하지만, 같은 위치에 있는 수(자기 자신)를 묶는 것은 불가능하다. 그리고 어떤 수를 묶게 되면, 수열의 합을 구할 때 묶은 수는 서로 곱한 후에 더한다. 예를 들면, 어떤 수열이 {0, 1, 2, 4, 3, 5}일 때, 그냥 ..

알고리즘/백준

[백준] 2565 전깃줄 (Python)

2565번: 전깃줄 첫째 줄에는 두 전봇대 사이의 전깃줄의 개수가 주어진다. 전깃줄의 개수는 100 이하의 자연수이다. 둘째 줄부터 한 줄에 하나씩 전깃줄이 A전봇대와 연결되는 위치의 번호와 B전봇대와 연결되는 www.acmicpc.net 문제 더보기 문제 두 전봇대 A와 B 사이에 하나둘씩 전깃줄을 추가하다 보니 전깃줄이 서로 교차하는 경우가 발생하였다. 합선의 위험이 있어 이들 중 몇 개의 전깃줄을 없애 전깃줄이 교차하지 않도록 만들려고 한다. 예를 들어, 과 같이 전깃줄이 연결되어 있는 경우 A의 1번 위치와 B의 8번 위치를 잇는 전깃줄, A의 3번 위치와 B의 9번 위치를 잇는 전깃줄, A의 4번 위치와 B의 1번 위치를 잇는 전깃줄을 없애면 남아있는 모든 전깃줄이 서로 교차하지 ..

자료구조

[파이썬] Trie(트라이) 알고리즘

참고한 블로그 [Python / 파이썬] Trie 알고리즘 안녕하세요 코딩하는 지미에요!! 오늘은 Trie 알고리즘의 기본 개념과 예제에 대해서 알아볼게요 ㅎ 생소... blog.naver.com Trie 알고리즘 -- 문자열 탐색 시 실행속도가 빠른 알고리즘. 하지만 저장 공간의 크기가 크다는 단점. 구현 데이터를 저장할 노드 class Node(object): def __init__(self,key,data = None): self.key = key self.data = data self.children = {} Trie 구현 class Trie: def __init__(self): self.head = Node(None) def insert(self,string): current_node = sel..

알고리즘/백준

[백준] 14725 개미굴 (Python)

14725번: 개미굴 첫 번째 줄은 로봇 개미가 각 층을 따라 내려오면서 알게 된 먹이의 정보 개수 N개가 주어진다. (1 ≤ N ≤ 1000) 두 번째 줄부터 N+1 번째 줄까지, 각 줄의 시작은 로봇 개미 한마리가 보내준 먹이 www.acmicpc.net 문제 더보기 문제 개미는(뚠뚠) 오늘도(뚠뚠) 열심히(뚠뚠) 일을 하네. 개미는 아무 말도 하지 않지만 땀을 뻘뻘 흘리면서 매일매일을 살길 위해서 열심히 일을 하네. 한 치 앞도(뚠뚠) 모르는(뚠뚠) 험한 이 세상(뚠뚠) 그렇지만(뚠뚠) 오늘도 행복한 개미들! 우리의 천재 공학자 윤수는 이 개미들이 왜 행복한지 궁금해졌다. 행복의 비결이 개미가 사는 개미굴에 있다고 생각한 윤수는 개미굴의 구조를 알아보기 위해 로봇 개미를 만들었다. 로봇 개미는 센서..

DeveloperJason
개발 지망생 L