빅데이터분석기사 9회 후기
·
🌆 일상/💬 벽보고 말하기
합격한 지 반년이 지나서 나온 후기이 자격증도 필기는 전에 따놓고 실기를 나중에 봤다; 필기필기는 시중에 나와있는 책을 하나 골라서 읽었다.시험 준비를 너무 짧게 잡고 했던 거 같다.그래도 전날까지 1권을 다 읽었다.2권은 읽다가 포기하고 기출문제 풀었다.역시 필기는 모의고사나 기출을 풀고 가는 게 도움이 됐다. 비전공자한테는 용어들이 생소한 경우가 많아 용어정리를 따로 하는 게 좋을 거 같다.아마 책만으로는 어려울 수 있으므로 다른 미디어를 통해 공부하는 걸 추천한다.실기사실 필기도 턱걸이를 했는데 실기도 턱걸이.이때도 합격 못하면 기간이 한참 밀리는데 무슨 깡으로 한 건지 모르겠다. 제1 유형에서 총 3문제 나왔는데 2문제 풀고제2 유형 문제 통으로 있는 거 풀었다.다행히 푼 문제가 맞아서 다행. ..
[백준] 1254 팰린드롬 만들기 + 팰린드롬 확인법 (python 파이썬)
·
🧩 Problem Solving/[백준]
https://www.acmicpc.net/problem/1254앞에 풀었던 팰린드롬 만들기보다 더 쉬운 문제. 아마 파이썬이라 그런 거 같다아이디어- 이 문제는 주어진 문자열을 건들지 않고, 문자열 뒤에 새로운 문자열을 추가해서 팰린드롬을 만드는 것이다. 따라서 뒷 문자열을 만들기 편하도록 배열을 새로 하나 생성해서 문제를 해결했다.전체 코드text = list(input())N = len(text)back = []def is_pal(x): for i in range(len(x)): if x[i] != x[len(x) - 1 - i]: return False return Truefor i in range(N): if is_pal(text + back): ..
[백준] 1213 팰린드롬 만들기 (python 파이썬)
·
🧩 Problem Solving/[백준]
https://www.acmicpc.net/problem/1213 팰린드롬 특징에 대한 문제. 난이도에 맞는 문제 같다.아이디어- 알파벳 string이 주어졌을 때, 팰린드롬의 가능 여부를 먼저 확인한다.만약 문자열에서 알파벳의 개수가 홀수인 게 2개 이상 존재한다면, 팰린드롬으로 만들 수 없다. - 팰린드롬을 앞, 중간, 뒤 3가지 파트로 분류하고 합쳐서 완성시켜 준다. 전체 코드english_name = list(input())visited = [0] * 26for e in english_name: visited[ord(e) - 65] += 1count = 0for i in range(26): if visited[i] % 2 == 1: count += 1if count >= 2..
[백준] 1244 스위치 켜고 끄기 (python 파이썬)
·
🧩 Problem Solving/[백준]
https://www.acmicpc.net/problem/1244생각보다 오래 걸린 문제. 팰린드롬 처리하는 게 약한 거 같다.그리고 특이하게 정답을 숫자 20개씩 끊어서 출력해야 한다. 덕분에 실수를 많이 했다.아이디어- 일단 배열의 시작은 0이고 스위치 번호는 1부터 시작이니까, 인덱스를 먼저 맞혀주자.간단하게 배열 맨 앞에 -1 같은 더미 값을 추가해 줬다. - 동일한 기능을 하는 코드가 중복되어 사용되므로, 함수를 만들어 사용했다. 처음 문제 풀 때는 그냥 풀긴 했다.전체 코드import sysN = int(input())switchs = [-1] + [int(x) for x in sys.stdin.readline().rstrip().split()]students = int(input())def ..
[백준] 4963 섬의 개수 (python 파이썬)
·
🧩 Problem Solving/[백준]
https://www.acmicpc.net/problem/4963흔한 구역 개수 구하는 문제. 근데 특이한 건 대각선도 연결되어 있는 걸로 생각해야 하는 게 특이하다. 그것만 생각하면 나머진 쉬운 문제.아이디어- 일반적인 상하좌우탐색에서 추가로 대각선 방향도 추가해준다.전체 코드import syssys.setrecursionlimit(10**6)dx = [0, 0, 1, -1, 1, -1, 1, -1]dy = [1, -1, 0, 0, 1, -1, -1, 1]def dfs(x, y): if x = H or y = W: return False #print(x, y) if island[x][y] == 1: island[x][y] = 0 dfs(x, y + ..
[백준] 30804 과일 탕후루 (python 파이썬)
·
🧩 Problem Solving/[백준]
https://www.acmicpc.net/problem/30804 실버2 라는 게 믿기지 않는 문제. 내가 슬라이딩 윈도우 개념을 몰랐다면 못 풀었을 거 같다.이건 왜 실버에 있을까 아이디어- 문제에서 제시하는 과일 두개로 만들 수 있는 최대 길이를 구하기 위해 투 포인트 개념을 사용했다. 생각보다 작은 N의 크기(200000), 널널한 시간제한(2초), 그리고 적은 과일 개수(최대 9개)를 보고 모든 경우를 계산해도 괜찮다고 생각했다. 그래서 슬라이딩 윈도우를 생각하며 왼쪽에서 오른쪽으로 탐색하면서 가장 길이가 긴 경우를 찾았다. -  과일 종류의 개수를 구할 때 편하려고 딕셔너리를 사용했다.전체 코드N = int(input())tangList = list(map(int, input().split()..
[백준] 2563 색종이 (python 파이썬)
·
🧩 Problem Solving/[백준]
2563번: 색종이 첫째 줄에 색종이의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다. 색종이를 붙인 위치는 두 개의 자연수로 주어지는데 첫 번째 자연수는 색종이의 왼쪽 변 www.acmicpc.net 2차원 리스트를 활용한 간단한 문제. 아이디어 언뜻 보기에 귀찮은 문제라고 느껴질 수 있다. 근데 문제에서 제공된 범위가 100 100이라는 매우 작은 범위이다. 이런 경우는 모든 좌표를 2차윈 리스트로 간단하게 해결 가능하다. 먼저 100 * 100 의 이차원 리스트에서 값을 전부 False로 선언해 준다. 그리고 각 색종이가 있는 영역의 좌표들을 True로 바꿔주고 마지막으로 True의 개수를 세어서 출력해주면 된다. 전체 코드 N = int(input()) paper..
[백준] 7579 앱 (python 파이썬)
·
🧩 Problem Solving/[백준]
7579번: 앱 입력은 3줄로 이루어져 있다. 첫 줄에는 정수 N과 M이 공백문자로 구분되어 주어지며, 둘째 줄과 셋째 줄에는 각각 N개의 정수가 공백문자로 구분되어 주어진다. 둘째 줄의 N개의 정수는 현재 활 www.acmicpc.net 냅색 응용문제. 아이디어 냅색 알고리즘의 기본 원리를 이용해 해결할 수 있다. 이차원 리스트 backpack[x][y]는 x번째 앱까지 y비용으로 얻을 수 있는 최대 메모리값이다. 1. 열의 크기는 제시된 모든 비용의 총합으로 한다. 2 - 1. 현재 앱의 비용 costList [i]가 j보다 크면 그대로 둔다. backpack[i][j] = backpack[i - 1][j] 2 - 2. j 가 더 크면 현재 앱의 유무를 비교해 값을 업데이트해준다. backpack[i..