대체 왜?빅분기로 파이썬을 처음 다뤄보는 사람이면 그냥 구글 코랩 쓸것을 추천한다. 구름 체험환경은 자동완성도 안되고 연습용으로는 기능이 떨어지고...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/1027 사고 과정처음에는 서로 보이는지 판단할 두 빌딩 사이의 모든 빌딩이 두 빌딩의 높이보다 낮은 경우를 구하면 되지 않을까 싶었다.하지만 이 그림과 같이 1, 3 두 빌딩 사이의 빌딩 2번은 3번보다 높은데도 불구하고 1과 3 빌딩은 서로를 볼 수 있어서 정답이 아니었다.두번째로 사이의 빌딩들의 제한높이를 두 빌딩 의 높이의 차이를 이용해 수동으로 구하는 방법을 생각했는데1과 4 사이의 높이 차이는 6이며 사이의 빌딩은 2개이므로 아래와 같이높이의 차이를 2개로 쪼개 3등분한 값을 더해가며 제한 높이를 수동으로 구하여 풀어보았는데이론상 정답인것 같으나 부동소숫점 연산의 부정확성 문제 추측되는 이유로 틀렸다. 풀이따라서 아래와 같이 두..
문제https://www.acmicpc.net/problem/9017 풀이낚시 없는 정직한 구현문제다.6명 이상 출전하지 않은 팀은 아예 없는셈 쳐야 하는것에 주의 하면 된다. 6명이 출전하지 않은 팀을 set으로 저장해두고팀명을 key, 팀원의 순위를 List로 담을 defaultdict(list)를 선언하고 6명 이상인 팀의 순위를 6명 이하로 출전한 팀을 제외하는것을 고려하며 담아준다. 딕셔너리를 순회하며 리스트의 0~3번 인덱스의 값의 합, 4번 인덱스의 값, 팀명을 담은 리스트를 만들고 .sort()로 오름차순 정렬한뒤, 정렬된 첫번째 원소의 팀명(2번 인덱스)을 출력하면 끝. 정답 코드from collections import defaultdictT = int(input())for _ i..
문제https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14QpAaAAwCFAYi SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 풀이단순 무식하게 전체를 검사하면 된다.하나의 행에 회문이 몇개인지, 하나의 열에 회문의 몇개인지 3중 for문을 사용해 가로 한번 세로 한번 카운트해서 풀었다. 리팩터링은 다음과 같이 진행했다.list(zip(*wordBoard))를 사용해 전치한 행렬을 생성하여 사용하기문자가 회문인지 검사할때는 절반만 검사하기isPalindrome 플래그 대신 all()을 사용하여 모두 만족하는지 검사하기 ..
문제https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV19AcoKI9sCFAZN SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 풀이0으로 채워진 문자열과 앞에서부터 한 문자씩 같은지 검사하되 다르다면 뒷부분을 1로 채워버리고 검사를 이어나가는 방식으로 생각하면 된다. (실제로 0으로 채워진 리스트를 만들어서 비교할 필요는 없고 숫자 하나에 기록한다.) "0100111"이라고 가정하고 0과 비교를 시작하는 예제0 -> 0과 비교시 같음1 -> 0과 비교시 다름, 다음 숫자부터 1과 비교, 정답 1 증가0 -> 1과 비교시..