https://www.acmicpc.net/problem/2011 2011번: 암호코드 나올 수 있는 해석의 가짓수를 구하시오. 정답이 매우 클 수 있으므로, 1000000으로 나눈 나머지를 출력한다. 암호가 잘못되어 암호를 해석할 수 없는 경우에는 0을 출력한다. www.acmicpc.net 두자릿수일수도 있고 한자릿수일수도 있다 이게 헷갈렸다 근데 이게 이 문제의 포인트 ! 단, 두자릿수는 10 ~ 26 이어야 한다. Z가 26이므로 마지막 알파벳이된다. 한자릿수는 0이면 안된다 !! A가 1부터 시작하기 때문이다 그리고 한자리수로 0보다 클때 : dp[i] += dp[i-1] 로 이전값을 더해준다 현재 검사중인 인덱스와 그다음 인덱스를 합쳐서 10이상 26이하의 두자릿수로 볼 수 있을 때 : 두자릿..
전체 글
Data Engineering과 Cloud Native 기술에 대해 Dive Deep 하는 만능 플랫폼 엔지니어가 되는 것을 목표로 하고 있습니다. 경험했던 내용과 공부했던 내용을 기록합니다. 🐻❄️☁️https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 완전탐색으로 풀었다 ! 파이썬에 조합 라이브러리 combinations가 있는데, 조합 라이브러리를 완전 탐색에 유용하게 쓸 수 있었다. N 명중 N//2를 뽑는 조합을 구했고 뽑은 N//2 명의 팀원들은 start 팀이라고 한다. 그리고 start 팀에 들어가지 않는 팀원들은 link 팀에 속하게 되는데, 이를 집합 set() 화 시켜서 차집합으로 구했다 ! 그러면 현재 총 6명이 있었다고 치면, start = (1..
permutations 를 써서 가능한 순열 조합들을 모두 확인해 보는 방법으로 풀었다. https://www.acmicpc.net/problem/10819 10819번: 차이를 최대로 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. www.acmicpc.net # 10819 차이를 최대로 from itertools import permutations n = int(input()) array = list(map(int, input().split())) result = 0 cases = permutations(array, n) for case in cases: temp = 0 for..
·개발일기
터미널에서 zip -P (설정할 비밀번호) 압축후_파일_이름.zip 압축할 파일이름 명령어를 그대로 쳐주면 된다. 맥에서도 zip 파일 처리가 되는게 신기하다 ㅋㅋ
https://www.acmicpc.net/problem/1967 1967번: 트리의 지름 파일의 첫 번째 줄은 노드의 개수 n(1 ≤ n ≤ 10,000)이다. 둘째 줄부터 n-1개의 줄에 각 간선에 대한 정보가 들어온다. 간선에 대한 정보는 세 개의 정수로 이루어져 있다. 첫 번째 정수는 간선이 연 www.acmicpc.net 트리도 결국 그래프에 속한다! 라고 생각하면 조금 더 쉽다 모양은 나무처럼 생겨서 이상하지만,, 결국 우리는 1번 노드에서 가장 멀리 떨어진 정점을 찾고, 그 정점에서 가장 멀리 떨어진 정점을 찾아서 두 가중치를 더해주면 최대값이 된다 이 예시에서도 1번에서 가장 떨어진 노드는 9번이다. 이말은 노드 1에서 출발 했을 때 가중치 값이 가장 큰 노드가 9라는 것이다 그후 9번을 ..
시뮬레이션 문제는 많~~~~~~~~~이 풀어봐야겠다 그나저나 청소년상어였던가 그것도 삼성기출인데 미세먼지 안녕이랑 비슷하게 빡 구현 (?) 이다. 난이도는 이게 그나마 아주조금 더 쉬운편 1. 먼지를 이동시킨다 다른 풀이를 참고했는데, 임의의 배열 공간(temp_array)을 만들어서, 그 배열을 이용해서 먼지를 상하좌우로 퍼뜨린것을 저장하고 원래의 배열로 옮기는 방법이다. 2. 공기청정기 가동 -> 위쪽 공기청정기의 x 좌표와 아래쪽 공기청정기 x 좌표를 경계로 전체 정사각형을 분할하여 생각한다. 그리고 벽면에 부딪힐 때 -> 즉 이동가능한 x, y 좌표의 범위를 벗어난 경우일 때, 방향을 차례대로 꺽어주면 된다 (반시계 방향 & 시계 방향) 칸은 원래 배열에 빈칸인 '0'을 앞쪽에서부터 삽입해서 나간..
1. 첫번째 시도.. 시간초과난다 from itertools import permutations n = list(input()) result = -1 cases = permutations(n, len(n)) for case in cases: if case[0] == '0': continue else: num = '' for i in case: num += i num = int(num) if num%30 == 0: result = max(result, num) print(result) if 문에서 30의 배수가 아닌 조건을 걸러주면 된다 !! 우선 30의 배수를 떠올려 보면 30, 60, 90, 120, 150, 180, 210 ... 0 으로 끝나는 것을 알 수 있다!! 또한 '3'의 배수의 성질인 각자..
오늘은 제 취미중 하나인 VR게임 리뷰를 해보려고 합니다 저는 게임을 사실 잘 못하고 너무 어렵거나 너무 잔인하면 또 못합니다 ㄱ- 그래서 보통 쿠키런 킹덤같이 아기자기하고 귀여운 모바일게임이나 쿠키런오리지널, 닌텐도 등을 많이 했고 리듬게임류를 정말 좋아한답니다 !! 제가 내돈내산한 게임이 현재 3개정도 있는데 그 게임들에 대해 리뷰해볼게요 우선 비트세이버입니다 !! 진짜 VR게임 게의 레전드같습니다 비트세이버는 VR사면 기본으로 다 사는것 같아요 그만큼 재미있고 이해도 쉽고 대체로 같은 자리에서서 날아오는 비트 조각들을 슬라이스 하는 게임이라서, 멀미감이 없어요!!! VRChat은 한시간정도만 해도 멀미가 심해서 많이 못하겠던데 비트세이버는 3D멀미가 없었습니다 !! 그래서 강추 손님들 왔을때 같이 ..