cos pro 1급 python 준비 + 파이썬 알고리즘 작성 시 개인팁 메모

CODA·2025년 1월 5일
0

한때 이것저것 코딩이나 ai 등 많이했으나 회사 들어오고 나서 코딩을 안해서 머리가 돌이되었음. 복습 차원에서 cos pro 1급이라는 자격증을 준비해보기로 함.

1. 어떤 시험인가?

  • 빈칸채우기 7 완성형 3 총 10문제 1시간 30분 시험.
  • 합격컷 600 , 하지만 동일배점아님
    -> 부분형 다맞고 완성형 1개 이상이 목표 ㄱㄱ
    -> 부분형에서부터 쉬운거 -> 완성형 (시간관리 중요)
    -> 코딩 오랫동안 쉰 나로서는 난이도 낮은 시험이여도 90분 시험 생각하면 공부좀 해야함
    -> 시간관리 감안해서 실제환경처럼 모의고사 훈련도 필요.

2. 유형별 분석

시간관리 매우중요 : 유형 순서대로 안나오니 빈칸 => 한줄 => 함수짜기 순으로 꼭! 직접 찾아서!

(1) 빈칸채우기

진짜 그 칸만 채우면됨 : 그러나 전반적으로 함수 다 이해해야한다고 생각하자! 그래야만 맞을 수 있는 문제도 꽤있음

  • 1) "다음과 같이 프로그램 구조를 작성했습니다"

    • 이 순서도를 강력하게 참고하면서 함수짜면됨!!! 적극이용하기. 쉽다.
    • 그치만 각 함수를 이해해서 돌아가게는 되어야함. (그래서 max(), min(), 인덱스 활용 등도 필요함) 정답안나오면 너무 무지성으로 해서 그렇다.
      • 은근 max, min 이런거 많이쓴다 cnt가 맨밑인경우에 가만히 있는다 => max(cnt - 1,0) / 혹은 else를 elif cnt > 0 : 이런식으로 그외~ 의 else를 새로운 조건으로 만들어버릴수도 있음
  • 2) 저 말 없으면 나라면 어떻게 했을지 (위에처럼) 짜여있는 코드 참고하면서 어느정도 해둔다음에 빈칸채워야함. 날먹하려하지말고..(1차 - 문제7) 괜히 생각이 갇힌다

    1. 일단 함수매칭을 먼저하고 => 어려우면 주어진 함수들 def 들만큼은 무조건 이해한다, 왜이렇게짰을까, 실제예시를 머릿속에 굴려보는 등 해서 주어진 def들을 무조건 이해시켜야함
    2. 빼박 이건 무조건 그대로 넣으면 될 각인거 2개, 바꿔야하는 유형은 1개 정도 될거라는 믿음 (3개다 바꾸는 유형은 아닐거라는 믿음)
    3. 찍기 팁 : 빼박 그대로일 각 2개 정하고 나머지 1개를 max min //2 % 등등 변형해서 무지성 넣어보기
  • 3) 클래스
    그렇긴하지만 class는 샘플 문제 대충 정리만 하기 (이미지 캡처수준)

    • class 새로운클래스(기존클래스이름) -> 이러면 상속되는듯 -> 함수인자 이런거 다 간단해짐
    • 1번문제 클래스 복습해서 이미지로 넣어두기 클래스에 인자들어가는건 상속뿐인듯 + 하위함수는 함수이름뭔지 + 인자맞추기 : 인자는 다 self 받아야함 + 함수밑에있는 인자보고 무슨인자들어갈지 생가갛면됨 태블릿에 넣고 필기넣어서 반영하기

(2) 한줄고치기

  1. 이것도 다른거 고칠필요 없이 ㄹㅇ 딱! 한줄만 고치면 된다 : 근데, 우선 실행을 먼저 돌린다
  2. 딱 그 줄만 오류이기 때문에 어디가 틀린지 확정을 한 후 거기만 냅다 수정한단 마인드면 어려워도 쉬워진다

1) 답이 틀린경우 : 전반적인 생각필요
2) 아예 오류가 나는경우 => 이게 좋다! : 해당 코드가 고쳐야될 코드라 좋다

  • 주석은 적극활용
  • 여기부터는 그래도 좀 여러번해야하는듯. 난이도가 막 어렵진않으나 꾸준히해서 감을 올려놔야될것같아
    • 종이접기 이거 이해 어렵다 : 이런거는 그냥 무지성해도 될듯.. 일일이 바꾼단식으로 ㅎ.. 경우의수넘많은데 -> 여튼 버리는것도능력
      3) 의외로 팁이 한줄만 되어있다해서 (3)함수 유형과 안헷갈리는것! 한줄만되어있어도 함수 전체짜는거면 (3)유형이니 주의!!

(3) 함수 => 처음보고 아이디어 안떠오르면 바로 다음문제부터

  • 구현, 시뮬레이션 유형(2중 array 다루는법) 공부필요. 이게 (1),(2) 유형도 도움됨
  • 이거 시간도 본다 2중 for문 이런거 타임오버되면 안돌아감.
  • 깃허브에 예전에 알고리즘 정리한거 유형 공부하기
    • algorithm/Baekjoon/ -> 몇개유형좀 하기
### 0. 기타정리
1) dict = {'a' : 1, 'b' : 2} -> dict['a'] 이런식으로 딕셔너리 활용가능. ()말고 리스트처럼 []하면됨
2) 최댓값, 최솟값 찾는 flow : 특정 값보다 크거나 작으면 max, min 갱신해나가는 플로우..
3) 함수 def, def 구분해서 여러개 작성 괜찮다. 그래야 수정하기도 좋고 눈에 잘 보임. (하위함수때는 인자에 주의하기 인자가 여러개 들어가야한다거나)
4) 문자열 : 있냐 없냐는 in, not in으로 짜면됨, box = [] & append처럼 box ='' & +=

### 1. for문 등 함수작성시 팁
-> 하나의 예시에 대해서 주석으로 아예 값을 써가면서 하면 인덱스 값 등 훨씬 안헷갈리고 짜기좋다 : 3 - 0 / 4 -1 / 5 - 2 => "아, arr[k-1+i] - arr[i] 로 짤수있겠구나!"
-> 그냥 for문 돌리는게 나을지 index로 접근하는게 나을지
box = ['a','b','c','d']
"for i in range(box)" VS "for idx in range(len(box))"

### 2. 조건문 짤때 주의사항
- 값에 대한 갱신, 초기화는 어떻게 할지
- 조건파악 어떻게 할지 - '무시'(continue) 
  => continue는 값 반영되는 코드를 구분해서 생략안되게 주의해서 짜야함

### 3. '조합'유형
# 1) 조합 쓰기 -> '시간' 이슈 가능!! 
from itertools import combinations
cases = list(combinations(array, k)) # list 꼭 써야함
# 2) 어레이 '정렬'먼저!
array.sort() # -> 그 후에 선형탐색 한다고 생각하면됨

3. 앞으로 할거 개인메모 (즐겨찾기 다 넣어둠)

  • 1) 깃허브 내가 정리했던거 복습
  • 2) 현장 감 올리기 : 구름에듀(과거기출, ui 잘되어있음) 풀어보기 + 유튜브강의
  • 3) 프로그래머스 고득점 kit에서 구현 유형만 좀 풀어서 감 올리기
  • 4) 프로그래머스 함수 유형 복습 (못푼거2개 :1,3번, 시간초과해서 고친거1개:2번)
  • 5) 공홈 올라와있는 최신문제 풀어보기 (환경따로 조성해야함)
  • 600점만 넘기면 된단거 숙지하기. -> 일단은 부분형 무조건 다 맞아야하기에 유형 익숙해지되 최신 유형 난이도도 꼭 익히고 가야함!!!
profile
금융권에 가고싶은 김코다입니다. 취업을 하면 기타치며 조르바처럼 살고파요. -> 금융권 왔다. 취업도 했다. 그러나 여전히 조르바처럼..

0개의 댓글