전체 글46 [프로그래머스 Lv.2] 혼자 놀기의 달인 (파이썬 풀이) 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] * cards의 원소는 "자연수"이다. 요약: 모든 그룹의 상자 개수를 구하고 가장 큰 수와 두 번째로 큰 수를 곱하여 반환한다. 인덱스 순서대로 cards 배열의 원소를 확인한다. 이때, 자연수가 아닌 0인 원소는 열어본 상자로 간주한다. 열어본 상자가 아니라면 해당 원소값을 다음 확인할 인덱스로 정하며 해당 원소는 열어봤다는 의미로 0으로 바꾼다. 열어본 상자를 발견할 때까지 1~2를 반복하며 해당 작업의 수행 횟수를 저장한다. 열어본 상자를 발견하면 answer 변수에 이번 회차 작업.. 2022. 10. 28. [프로그래머스 Lv.2] H-Index (파이썬 풀이) 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] * 논문별 인용 횟수 배열(citations)을 내림차순 정렬한 배열의 인덱스는 해당 논문의 인용 횟수 이상의 인용 횟수를 가진 논문의 수와 같다. citations을 내림차순 정렬하여 인덱스 순서대로 인덱스 값이 인용 횟수보다 크거나 같은지 확인한다. 인덱스 값이 인용 횟수보다 큰 경우를 발견하면 해당 인덱스를 반환한다. 발견하지 못한 경우 전체 논문의 수를 반환한다. [코드] def solution(citations): for i, j in enumerate(sorted(citation.. 2022. 10. 28. [프로그래머스 Lv.2] 카펫 (파이썬 풀이) 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이 2] * 카펫의 가로, 세로 각각의 격자의 수는 모든 격자의 수의 약수이다. * 즉, 모든 격자의 수 ÷ 세로 격자의 수 = 가로 격자의 수 * 노란색 격자의 수 = (카펫의 가로 격자의 수 - 2) * (카펫의 세로 격자의 수 - 2) * 노란색 겉 테두리 1줄은 갈색 격자로 이루어져야 하므로 카펫의 가로, 세로 격자의 최소 수는 3 이상이다. 갈색과 노란색 격자의 수를 모두 더하여 총 합을 구한다. 3이상, 총 합 이하의 수를 차례로 대입하여 다음 식이 성립하는 약수 y를 찾는다. {(총.. 2022. 10. 26. [프로그래머스 Lv.2] 큰 수 만들기 (파이썬 풀이) 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] * 이 문제는 시간 복잡도를 최소화해야 함. * 탐욕법(Greedy) 유형의 문제라는 것이 힌트. * combinations나 max 함수로는 제한 시간에 맞추기 어려움. 만들고자하는 가장 큰 수의 앞자리부터 순서대로 찾기 위한 범위를 매번 설정해야 한다. 찾을 범위 시작 위치 인덱스는 0, 끝 위치 인덱스는 (number의 총 길이 - 만들고자하는 수의 총 길이)로 초기화 한다. 찾을 범위 끝 위치 인덱스+1 로 범위를 갱신하고 현재 범위 내에서 최댓값을 찾아 정답이 될 문자열 변수에 추.. 2022. 10. 25. [프로그래머스 Lv.2] 롤케이크 자르기 (파이썬 풀이) 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] * 이 문제는 시간 복잡도를 줄이는 것이 관건인 문제. 전체 토핑의 종류와 개수를 딕셔너리로 만든다. (Hashable 하게 만들어 연산 속도를 줄이기 위함) 빈 세트을 선언한다. topping에서 마지막 토핑을 pop하여 세트에 추가하며 동시에 딕셔너리에서 해당 토핑의 개수를 1 감소시킨다. 이때, 토핑의 개수가 0인 경우 딕셔너리에서 해당 키값을 삭제한다. 이후 딕셔너리의 길이와 세트의 길이가 같으면 자르는 방법의 수를 1 증가시킨다. 딕셔너리의 길이가 세트의 길이보다 크거나 같으면 3~.. 2022. 10. 22. Remote Repository 에 변경 내용 Push 하기 이전 글에서 Local의 Working Directory에 "test.txt" 파일 생성 후 Local Repository에 commit했었음 2022.07.06 - [Git] - Local Repository 생성 github의 해당 Remote Repository - Code 탭에 setup 코드들 외에 파일이 표시되지 않고 있음. (아직 Push한 파일이 없음. 즉, test.txt는 아직 remote repository에 push되지 않음) Working Directory에서 Push 명령어로 Local과 Remote Repository 동기화 git push origin master push 결과가 출력됨. * push 결과 대신 에러 메세지가 나오는 경우 혹시 이런 에러 문구가 나타난다면 pu.. 2022. 7. 9. Remote Repository 생성 및 Local 연동 github Repository 생성 github 로그인 후 홈페이지에서 [New] 버튼 클릭 "Repository name" 및 옵션 설정 후 [Create repository] 버튼 클릭 Local Repository 와 연동하기 계정 메뉴에서 [Settings] 클릭 좌측 하단 [ Developer settings] 메뉴 클릭 [Personal access tokens] 클릭 [Generate new token] 클릭 "Note" 에 용도에 관한 메모를 남기고, "Expiration"에서 유효 기간 설정, "Select scopes"에서 각 옵션값 설정 (자신이 직접 사용하는 경우, Full control이 필요하므로 repo를 꼭 선택하자) 마지막으로 [Generate token] 버튼 클릭.. 2022. 7. 9. Local Repository 생성 및 파일 commit Working Directory 생성 Working Directory로 사용할 폴더를 만든 후 터미널에서 해당 폴더 위치로 이동. git init 해당 폴더에서 Git 을 초기화하는 명령어를 사용하면 해당 폴더를 Git 이 관리하기 시작. Local Repository 가 생성됨. git init .git 확인 해당 폴더에서 숨긴 항목 표시를 하면 [.git] 이라는 숨겨진 폴더가 생성되어 있음. .git 으로 이동해서 파일을 살펴보면 Git 관련 파일들이 생성되어 있음. git status Working Directory에 [test.txt] 파일을 생성하고 `git status` 명령어를 입력하여 Git 에 존재하는 파일 확인. git status Git Add Working Directory 에서 .. 2022. 7. 6. Git Global Configuration Local PC에서 기본값으로 사용할 Git 사용자 이름과 E-mail 설정 Global Username & Email git config --global user.name git config --global user.email CRLF 줄바꿈 문자 설정 Line ending (줄바꿈 문자) - Windows : CR (\r) + LF (\n) - Unix or Mac : LF (\n) Windows 사용자와 Mac 사용자가 같은 Git Repository 를 작업할 때 코드에서 변경된 내용이 없어도 CRLF 차이로 인해 commit 이 발생할 수 있으므로 설정을 통해 통일해서 사용할 필요가 있음. CRLF - Windows Windows 환경으로 가져올 때는 LF 를 CRLF 로 변경하고 Github .. 2022. 7. 5. 이전 1 2 3 4 5 6 다음