프로그래머스 코딩테스트 공부 파이썬 - peulogeulaemeoseu kodingteseuteu gongbu paisseon

Lv.3 까지는 자력으로 다 풀 수 있는 난이도 였지만, Lv.4 부터는 자력으로 푼 문제가 50%도 안된다. 풀었던 50%도 다른 Lv.4 문제에 비하면 급이 떨어지는 문제들이라 처참했다.


아무런 준비도 없이 봤던 [2021 카카오 blind 공채 코딩테스트]와 [2021 카카오 상반기 인턴 코딩테스트]를 처참하게 망친 후 이대론 안되겠다 싶어 2021년 1월부터 프로그래머스 모든 문제를 다 풀어서 내것으로 만들겠다고 다짐한 후 닥치는대로 문제를 풀고, 다른사람의 풀이를 공부하고 다시한번 코드를 암기하며 포스팅을 했다. 하지만 머리가 많이 굳었는지 3번의 복습으로도 충분하지않다는걸 확실히 느끼고있다.

178개의 문제를 풀며 느꼈던 알고리즘 문제풀이에 꼭 필요한(내가 정복해야할) 스킬, 라이브러리, 알고리즘들을 공부하고 포스팅 한 뒤, 다시 모든 178개의 문제를 더 깔끔하고, 효율성 좋게 업그레이드 할 예정이다.


문제 풀면서 느낀점

30분 고민해서 어떻게 풀어야할지 감이 안잡히면 자존심 부리지말고 다른사람 코드를 보는게 가장 좋다. 시간절약 + 새로운 시야(알고리즘, 라이브러리, 접근법)를 가질 수 있다.

나의 문제풀이 순서

  • 어떤 알고리즘을, 접근법 사용해서 문제 풀지 고민(5%)
  • 손으로 공식화, 수도코딩(50%)
  • 코딩 (5%)
  • 테스트(40%)

이런식으로 시간을 쓰는데, 첫 단계 부터 30분이 넘어간다? 그러면 그 문제는 애초에 내 현재 상식으로는 못푸는 문제라는 말이다.

처음엔 내가 스스로 해결하지않고 다른사람의 풀이를 보면 뭔가 실력향상이 안될꺼같고, 손해보는 느낌이고 자존심 상하고 패배자같은 느낌이 들어 한 문제를 1주일 넘게 붙잡고 있었던 적도 있다. 하지만 다른사람의 상식을 내것으로 만드는게 더 중요한 부분임을 어느순간부터 느꼈고, 작업하는데 시간을 쓰는 것은 상관없지만 못 푸는 문제 붙잡고 있는것만큼 미련한것은 없다는것을 느꼈다. 왜냐하면 못 푸는 문제는 몰라서 못 푸는 것이기 때문에 다른사람 코드를 공부하고 복습을 하면된다.

왜 이 글을 쓰는가? 많은 기업들이 코딩테스트를 치릅니다. 취준생은 이에 맞추어 준비를 해야합니다. 코딩테스트는 처음 공부하려면 막막하고 당황스러울 것입니다. 심지어 코딩테스트 때 작

covenant.tistory.com

https://covenant.tistory.com/142?category=874690

🔥 용감하게 시작하는 코딩테스트 2편

0. 무엇을 공부할까요? 파이썬의 정수, 문자열, 배열 자료형에 대해서 살펴볼 것입니다. 파이썬 기본 문법책을 펴보면 가장 앞 단원에 나오기에 자신이 있을텐데요. 코딩테스트를 준비하는 관점

'기초 PYTHON 프로그래밍' 강의는 처음으로 프로그래밍을 접하는 수강생들을 대상으로 하는 PYTHON 문법 및 코딩 강의입니다. 이 과정을 통하여 PYTHON에서 어떻게 데이터... - 이지선

www.edwith.org

이 강의 듣다가 중간에 두잇 점프 투 파이썬 교재도 구매해서

강의랑 겹치는 파트를 따로 더 공부하니까 이해도 쉽고 스킬도 많이 늘었다.


이렇게 강의를 다 듣고 교재도 설렁설렁 보다 보면 실제로 코드를 쳐보고 싶어 진다.

이때 백준 사이트에 들어가서 단계별로 풀어보기 중에 1~7(입출력~문자열) 정도 풀어보면 된다.

www.acmicpc.net/step

 

단계별로 풀어보기

단계별은 @jh05013님이 관리하고 계십니다. 단계제목설명정보총 문제내가 맞은 문제1입출력과 사칙연산입력, 출력과 사칙연산을 연습해 봅시다. Hello World!112if문if문을 사용해 봅시다.53for문for문을

A1. 본인이 주로 개발할때 사용하는 언어를 추천합니다. 요즘 추세는 C++에 비해 Python이 속도가 느린점은 추가 실행시간을 주기때문에 단점 보완이 된다고 생각합니다. 저는 주로 Java개발을 하기 때문에 Java로 코딩테스트를 응시했습니다.

추가로, 프론트 개발자의 경우에는 JS로 보는 경우가 늘어나고 있는 추세입니다.

Q2. 코딩테스트는 언제 준비?

A2. 꾸준히 알고리즘 및 자료구조를 적당히 공부해놓고 백준 실버~골드레벨이 되면 가끔씩 풀어주다가 취업시즌에 몰아서 코테 및 CS공부를 몰아서 하는 방식을 추천.

Q3. 코딩테스트는 어느정도 해야하나? 백준 레벨은?

A3. 일반적으로 기업들은 실버~골드 문제수준으로 나오니 그정도 문제를 풀 수 있을 정도면 됩니다. 개인적으로는 골3~4정도 문제를 잘 풀어내는 경지에 오르면 대기업 코테는 뚫을 수 있다고 생각합니다.

반응형

 안녕하세요. 삶의질을 높이기 위해 노력하는 영차영차입니다.
빅데이터분석기사 실기 시험을 위한 본인의 메모 및 공부 목적 포스팅입니다.

 

#pandas 판다스
: 자료 구조 및 데이터 분석 처리 패키지.
판다스에는 자료유형이 2가지가 있음. Series와 DataFrame.
데이타프레임 유형이 흔히 쓰는 테이블(표) 형태의 자료유형이라고 함.

#Series는 Value와 Index로 구성되는 자료유형.

프로그래머스 코딩테스트 공부 파이썬 - peulogeulaemeoseu kodingteseuteu gongbu paisseon

 

#DataFrame
: 데이터프레임은 2차원 행렬구조의 자료유형.

csv파일 불러오는 법
pd.read_csv('파일경로/파일명.csv')

csv는 데이터베이스나 표 계산 소프트웨어 데이터를 쉼표(comma)로 구분하여 기록하는
파일의 형식.

csv파일을 불러오는 기능은 판다스 기능에서 가능함.

CSV
[ comma separated value ]
요약 쉼표를 기준으로 항목을 구분하여 저장한 데이터를 말한다. 데이터베이스나 표 계산 소프트웨어 데이터를 보존하기 위해 이런 형식을 사용한다.
각 항목이나 판매 내용마다 쉼표(comma)로 구분하여 기록한다. CSV 형식의 파일은 텍스트 파일로 보존하여 문서 처리기나 편집기에서 열람 ·편집할 수 있다. 수많은 애플리케이션에서 취급하는 범용 형식이기 때문에 PDA(personal digital assistant)와 PC 사이에 주소록이나 표의 데이터를 주고 받을 때에도 데이터 파일을 CSV 형식으로 변환해서 송수신하는 경우가 많다.
[네이버 지식백과] CSV [comma separated value] (두산백과)

 

왜 안되는 거지. 모르겠음.
주피터 노트북 폴더에 해당 csv파일을 업로드하였으나 에러가 발생함.( 데이터캠퍼스 교재의 데이터 파일)

 

프로그래머스 코딩테스트 공부 파이썬 - peulogeulaemeoseu kodingteseuteu gongbu paisseon

 

오.. 파일명의 확장자 .csv를 입력하지 않았었음..!

프로그래머스 코딩테스트 공부 파이썬 - peulogeulaemeoseu kodingteseuteu gongbu paisseon
.

같은방식으로 실기 예제 문제파일인 mtcars.csv도 불러보려고 시도하였으나  처음의 에러가 발생함. 어려운 컴퓨터의 세계. 도대체 왜 그러는거지.

프로그래머스 코딩테스트 공부 파이썬 - peulogeulaemeoseu kodingteseuteu gongbu paisseon

 

 

일단은 진도를 나감.

변수명.head() ( 괄호 안은 불러올 행의 개수. 공백시 5개를 불러옴. 앞에서부터 불러옴)
변수명.tail() (괄호 안은 불러올 행의 개수. 공백시 5개를 불러옴. 뒤에서부터 불러옴)
변수명[1:6] (1에서 5행까지 불러옴)

 

프로그래머스 코딩테스트 공부 파이썬 - peulogeulaemeoseu kodingteseuteu gongbu paisseon

 

 

#판다스, 원하는 열 가져오기

:원하는 열은 열의 이름으로도 가져올 수 있고 열의 번호로도 가져올 수 있다. 상황에 맞춰서 쓰면 될듯.

1) 열 이름으로 가져오는 경우

grape[[열 이름]] # 대괄호를 한번만 감싸면 데이터프레임이 아닌 시리지의 형태로 나옴.
grape.열이름  # 따옴표로 감싸지 않음/ 열 이름은 안나오고 값들만나옴.
grape.loc[:,출력을 원하는 시작 열이름: 출력을 원하는 끝 열이름 
    # 콜론 컴마, 형태로보아 loc기능은 loc[ 시작행번호:끝행번호, 시작열이름:끝열이름] 으로 보임. loc 기능은 행번호와 열이름으로 작동함. 열을 번호로 입력하면 작동되지 않음. 시작열이름에 더 나중 열이름을 적으면 행번호만 출력되어 버림.

 

프로그래머스 코딩테스트 공부 파이썬 - peulogeulaemeoseu kodingteseuteu gongbu paisseon

 

 

변수명.열이름을 입력하면 열이름은 나오지 않고 값들만 나오는 모습.
변수명.columns 를 입력하면 열 이름들과 데이터 타입이 나온다.

프로그래머스 코딩테스트 공부 파이썬 - peulogeulaemeoseu kodingteseuteu gongbu paisseon

 

#변수명.loc 기능

프로그래머스 코딩테스트 공부 파이썬 - peulogeulaemeoseu kodingteseuteu gongbu paisseon


#변수명.iloc 기능

loc와의 차이점은 1)열이름을 번호로 쓴다는 것. 2)  출력하고자하는 끝(열,행)번호에 +1을 해주어야 한다는 것

 

프로그래머스 코딩테스트 공부 파이썬 - peulogeulaemeoseu kodingteseuteu gongbu paisseon

#변수명.at[행번호,열이름] 
데이터프레임에서 하나의 값을 가져오기. iloc를 응용해서 iat을 해보니까 됨. iat[행번호,열번호]도 가능함!

프로그래머스 코딩테스트 공부 파이썬 - peulogeulaemeoseu kodingteseuteu gongbu paisseon

반응형

공유하기

게시글 관리

구독하기Raw한 과정의 기록

'취미 및 과정 > 빅분기 실기 공부' 카테고리의 다른 글

[빅분기] 실기 시험까지 D-25, 넘파이↔ 판다스 변환  (0)2021.11.09[빅분기] 실기 시험까지 D-27,pandas(데이터프레임 데이터 변환하기)  (2)2021.11.07[빅분기] 실기 시험까지 D-28,넘파이(2)  (0)2021.11.06[빅분기] 실기 시험까지 D-28, 파이썬 패키지 리스트  (2)2021.11.06[빅분기]실기시험까지 D-28, numpy,넘파이  (2)2021.11.06