9회 실기 후기우테코 프리코스가 끝난 뒤로 대략 1주일간 공부했다.파이썬은 계속 써왔지만 판다스와 넘파이는 몇년만에 써보는거라 다시 공부하는 수준이었다.대학교시절 머신러닝을 R로 했었는데 빅분기에선 R보다는 파이썬이 유리할것 같아서 그냥 파이썬으로 공부했다.답 맞춰보니 합격은 한것같은데 확실하진 않으니 기다려봐야지 9회 시험은 구름IDE에 트래픽이 몰려서 사전점검 시간과 본시험 시작하고나서도 잠깐동안 코드 실행이 먹통이 되는 바람에 총 3시간 10분 주어졌다. 신영진컴퓨터학원에서 봤는데 다소 낡아 보이고 어수선한 분위기의 시험장이지만 될건 다 되고 무난했다.어차피 코드는 클라우드 환경에서 돌리는거라 크롬브라우저만 잘 되면 스펙은 중요하지도 않고. 걍 아무데서나 보시길옆에서 시험 내내 키보드 부숴먹을거같..
대체 왜?빅분기로 파이썬을 처음 다뤄보는 사람이면 그냥 구글 코랩 쓸것을 추천한다. 구름 체험환경은 자동완성도 안되고 연습용으로는 기능이 떨어지고...Jupyter Notebook처럼 셀단위가 아닌 전체 코드를 실행하는 방식인지라 익숙한 PyCharm을 쓰고 싶었다.연습할땐 코드 자동완성을 키고 모의고사 칠때는 끄고 help, dir을 쓰면 좋을듯. 아나콘다와 파이참이 설치되어 있는 환경에서 진행했다. 1. 빅분기 구름IDE 체험환경 접속빅데이터분석기사의 실기 환경은 소소하지만 수시로 업데이트 되는것 같다.구름IDE 체험환경에 접속하면 현 시점에서 아래와 같은 주석을 볼 수 있다. 2. 패키지 리스트 복사하기패키지 리스트를 보여주는 코드가 기본적으로 적혀있긴 한데...약간 수정한 아래의 코드를 구름 I..
문제https://www.acmicpc.net/problem/11726 풀이일단 직접 그려보자. 규칙이 보일듯 말듯 하다. 각 인덱스에서 n-1 인덱스에 등장했던 모양을 포함하는 수와 새로 등장한 모양의 수를 세서 더한 값은 다음과 같다. 그렇다. 각 색상은 이전의 두 숫자의 합이 다음 숫자가 되는 피보나치 수열을 따르고 있다.이제 정답 인덱스의 값을 구해서 10007로 나눈 나머지를 출력하면 된다. 정답 코드n = int(input())dp = [1, 2]while n > len(dp): dp.append(dp[-1] + dp[-2])print(dp[n - 1] % 10007) 점화식: dp[n] = dp[n-1] + dp[n-2]
문제 https://www.acmicpc.net/problem/21314 풀이우선 "민겸 수"와 "민겸 숫자"는 다른 개념이다. 민겸 숫자가 모이면 민겸 수가 되는것에 주의하자최소 최대값 모두 MK / K / MMK와 같이 K가 나올때까지 M의 갯수를 센다 최대값을 찾는법: K가 나올 경우 K까지 포함하여 끊어서 해당하는 민겸숫자를 문제에 제시된 변환 표 대로 변환하여 이어준다.끊어낸 마지막 덩어리가 M으로 끝날 경우 M의 갯수만큼 1로 채운 값을 이어준다. 최소값을 찾는법:K가 나올 경우 K를 포함하지 않고 끊어서 해당하는 민겸숫자를 문제에 제시된 변환 표 대로 변환하여 이어준다.(MMK와 같이 끊어진 경우 K를 포함하지 않고 MM까지만 변환)그 이후 K를 포함하지 않고 끊었으므로 K의 민겸숫자에..
문제https://www.acmicpc.net/problem/20300 풀이가장 큰 값과 가장 작은 값을 취하면 되는 그리디 문제이다.정렬한다최대 근손실을 홀수면 가장 큰수를 pop해서 초기화하고 짝수면 0으로 초기화한다남은 수중 가장 큰 값, 가장 작은 값을 을 pop해서 더한 값이 최대 근손실보다 크면 교체한다남은 수가 없어질 때까지 3번을 반복한뒤 최대 근손실을 출력한다참 쉽죠? 정답 코드from collections import dequeN = int(input())M = list(map(int, input().split()))M.sort()M = deque(M)maxM = 0if len(M) % 2 != 0: maxM = M.pop()while len(M) > 0: m = M.p..
문제https://www.acmicpc.net/problem/1027 사고 과정처음에는 서로 보이는지 판단할 두 빌딩 사이의 모든 빌딩이 두 빌딩의 높이보다 낮은 경우를 구하면 되지 않을까 싶었다.하지만 이 그림과 같이 1, 3 두 빌딩 사이의 빌딩 2번은 3번보다 높은데도 불구하고 1과 3 빌딩은 서로를 볼 수 있어서 정답이 아니었다.두번째로 사이의 빌딩들의 제한높이를 두 빌딩 의 높이의 차이를 이용해 수동으로 구하는 방법을 생각했는데1과 4 사이의 높이 차이는 6이며 사이의 빌딩은 2개이므로 아래와 같이높이의 차이를 2개로 쪼개 3등분한 값을 더해가며 제한 높이를 수동으로 구하여 풀어보았는데이론상 정답인것 같으나 부동소숫점 연산의 부정확성 문제 추측되는 이유로 틀렸다. 풀이따라서 아래와 같이 두..