목록분류 전체보기 (91)
DecordRay
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/136798 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Level1치고 난이도가 있었던 문제. 문제의 의도에 맞는 알고리즘을 사용하지 않으면 시간초과가 난다. (기존에 알고 있던 약수 개수 구하는 알고리즘을 사용하게 되면 시간복잡도가 O(n)이기 때문에) # 일반적인 약수 개수 구하는 코드 N = 1000000000; count = 0; for i in range(1,N+1): if N % i == 0: count += 1 print(cou..
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/131128 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 복잡하게 푼 감이 있지만 그래도 문제의 의도에 맞게 푼거 같아서 코드 수정 없이 올림(Level1치고 난이도가 높았음) 우선 이 문제의 핵심은 반복문을 진행할수록 문자열의 길이를 줄이면서 해야한다. why? - 아마 첫번째 생각한대로 알고리즘을 작성하게되면 시간초과가 발생할 것이다. (내 기억상 테스트 케이스 5개정도가 시간초과가 발생) deque자료구조를 사용하여 시간초과를 해결해보려..
1부에서 VS Code와 Github 레포지토리를 연동해보았다. 그렇다면 이번엔 VS Code에서 git graph를 통해 git을 활용해보자!! 잠깐! 여기서 git graph가 무엇인가? git graph - VS Code에서 제공하는 확장 플러그인 장점 작업한 commit 변동사항을 아주 편하게 비교하며 볼 수 있다. push, pull, commit 등 다양한 git 명령어를 클릭만으로 쉽게 관리할 수 있다. git graph 설치 방법 1. VS Code 확장 2. 설치가 완료 되었으면 연동된 저장소 열기 3.폴더를 선택하고 나면 밑에 Git Graph가 생성되는데 이를 클릭 이러면 Git Graph설치 끝 자 그럼 이제 본격적으로 Git Graph를 활용해서 Git을 써보자 1. 연동된 레포지..
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/138477 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 : 1. 명예의 전당리스트 honor_list 생성 2. k일 이전인지 이후인지에 따라 조건문 분기 k일까지 : honor_list에 score[i] 추가 k일 이후 : honor_list[0](최솟값)이 score[i] 보다 작을 경우 honor_list에서 honor_list[0] 삭제 후 score[i] 추가 3. honor_list 오름차순 정렬 후 answer에 honor..
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/135808 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 슬라이싱을 활용할 줄 알면 손쉽게 풀 수 있는 문제 *Tip - 슬라이싱에 대해 알고싶다면? - https://decordray.tistory.com/39 참고 풀이 : 1. socre에 있는 과일 점수를 내림차순 정렬 2. 만들어낼 수 있는 상자 수(score 길이에서 m만큼 나눈 몫) 만큼 반복 3. 반복 시점마다 가장 점수가 높은 과일부터 m만큼 슬라이싱을 통해 나눠주고 슬라이싱한..
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/142086 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 슬라이싱을 활용할 줄 알면 손쉽게 풀 수 있는 문제 *Tip - 슬라이싱에 대해 알고싶다면? - https://decordray.tistory.com/39 참고 풀이 : 1. s의 길이만큼 반복문을 진행하면서 매 반복 시점마다 s[i]와 같은 문자가 앞에 있는지를 판별하기 위한 chk변수 초기화 2. 내부 반복문(두번째 for문)을 통해 s[i]와 같은 문자가 앞에 있었는지 확인 s[i..
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/134240 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 슬라이싱을 활용할 줄 알면 손쉽게 풀 수 있는 문제 *Tip - 슬라이싱에 대해 알고싶다면? - https://decordray.tistory.com/39 참고 풀이 : 1. food[0]은 항상 1이므로(물이므로) 건너뛰고 1번 인덱스부터 반복문 진행 2. 조건문을 통해 answer에 문자열을 붙여줌 food[i]가 홀수일경우 : str(i) * food[i] - 1 food[i]가 ..
주로 문자열을 문제가 많이나오는 코딩테스트 문제에서 활용도가 높은 기법(Ex-카카오) Python에서 리스트를 슬라이싱해서 활용하는 방법을 알아보자!! 파이썬 슬라이싱(slicing)이란? 슬라이싱(slicing) or 슬라이스(slice): 연속적인 객체들에(예: 리스트, 튜플, 문자열) 범위를 지정해 선택해서 객체들을 가져오는 방법 및 표기법을 의미한다. 슬라이싱을 하면 새로운 객체를 생성하게 된다. 즉, 일부분을 복사해서 가져온다고 생각하면 된다. 기본 형태 a라는 연속적인 객체들의 자료구조(예: 리스트, 튜플, 문자열)가 있다고 가정을 했을 때 기본 형태는 아래와 같다. a[start : end : step] 각각 start, end, step 모두 양수와 음수를 가질 수 있다. start: 슬라..