본문 바로가기
728x90
반응형

Python437

[프로그래머스] [3차] 파일명 정렬 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 해당 문제는 파일명을 head, number, tail 부분으로 나누어 head를 기준으로 정렬하고 동일하면 number을 기준으로 정렬하며, number 부분도 동일하면 입력받은 파일명의 순서를 기준으로 정렬한 결과를 구하는 문제이다. 리스트를 정렬할 때는 이전 정렬한 결과를 가지고 다음 정렬이 이루어지므로 정렬 순서를 거꾸로 생각해야 한다. 또한 head 부분은 대소문자가 구분이 없고, number 부분은 숫자로 생각하여 오름차순 정렬해야 한다. 파일명을 나눈 결과를 저장할 .. 2023. 9. 11.
[백준] 3009번 : 네 번째 점 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 3009번: 네 번째 점 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 세 점을 입력받고 직사각형의 나머지 한 점을 찾는 문제이다. 직사각형의 모든 점을 보면 x좌표의 값이 2개, y좌표의 값이 2개로 정해지는데, 세 개의 점을 입력받아 1개의 값만 입력받아진 값이 나머지 한 점의 각 좌표 값이 되어야 한다. sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys x좌표를 저장할 리스트를 생성한다. xList = list() y좌표를 저장할 리스트를 생성한다. yList = list() 3번 반복하며 for _ in ran.. 2023. 9. 4.
[파이썬으로 하는 데이터 분석] 2. Jupyter Notebook 사용하기 - 우당탕탕 개발자 되기 프로젝트 Jupyter Notebook에서는 기존 파이썬의 문법을 동일하게 사용하면 됩니다. 명령문을 입력하고 Ctrl + Enter를 누르면 실행됩니다. 다음 명령문을 입력할 새로운 공간을 생성할 때는 + 아이콘을 눌러도 되고, B를 눌러도 됩니다. 삭제하는 방법은 가위 아이콘을 누르거나, D를 누르는 방법이 있습니다. Jupyter Notebook에서는 명령문 공간이 파란색이면 읽는 모드, 녹색이면 작성하는 모드라고 생각하면 됩니다. 파란색으로 읽기 모드일 때는 커서가 깜빡거리지 않지만 녹색으로 작성 모드일 때는 커서가 깜빡거리며 명령어를 입력할 수 있습니다. 파란색에서 녹색으로 변경할 때는 Enter를 누르면 되고, 반대로 녹색에서 파란색으로 변경할 때는 Ctrl + Enter를 누르면 입력한 명령문이 실행.. 2023. 9. 3.
[프로그래머스] 등굣길 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 해당 문제는 물에 잠긴 부분을 알려주는 행렬의 x좌표와 y좌표가 바뀌어 주어진다는 것을 알아야 한다. 나와있는 예제가 [[2, 2]]로 나와있어 파악하기 힘들었다. 하여 지도를 만들고 물에 잠긴 위치인치 판단할 때는 x좌표와 y좌표를 바꾸어 생각해줘야 한다. 그리고 지도의 인덱스 값을 그대로 좌표의 값으로 계산하기 위해 0행과 0열을 0으로 초기화하여 추가해 주는데, 이것은 다음 위치의 경우의 수를 계산할 때 따로 고려해주지 않아도 된다는 편리함이 있다. 지도를 나타내줄 리스트를.. 2023. 9. 3.
[파이썬으로 하는 데이터 분석] 1. 프로그램 설치 및 설정 - 우당탕탕 개발자 되기 프로젝트 데이터 분석을 해볼 프로그램은 anaconda (아나콘다)입니다. anaconda 설치부터 시작해 보도록 하겠습니다. anaconda를 설치할 때는 Just Me 옵션으로 선택하여 설치해 주는 것을 권장합니다. anaconda가 설치되는 위치를 알아보겠습니다. 위치를 알아보는 방법은 window 키 + R을 누르고 실행창이 나오면 cmd를 입력하여 명령창을 띄워줍니다. 이후 whoami를 입력해 주면 해당 위치가 나오게 됩니다. 나오는 위치는 내 PC, 로컬 디스크, 사용자에 생성되어 있는 폴더의 위치입니다. 해당 위치에 anaconda가 설치되게 됩니다. 설치되는 위치를 확인했다면 설치를 마저 진행합니다. 이때 오류가 뜨는 경우도 있습니다. 이런 경우에는 설치가 되는 폴더에 들어가 anaconda 파일.. 2023. 9. 2.
[백준] 1966번 : 프린터 큐 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 인쇄 차례를 구할 문서를 잘 쫓아가는 것이 핵심이다. 중요도가 동일한 문서가 존재할 수 있기 때문에 인쇄 차례를 구할 문서가 현재 어디에 위치하는지를 아는 것이 중요하다. 하여 처음 입력받는 인쇄 차례를 구할 문서의 위치를 계속 변경하며 해당 문서의 위치를 파악하도록 했다. 만약 제일 큰 중요도를 가진 문서를 출력할 때 그 문서가 찾고자 하는 문서라면 인쇄 순서를 출력하도록 구현했다. sys.stdin.readline() .. 2023. 9. 2.
[프로그래머스] 숫자 짝꿍 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 공통 숫자를 조합해 가장 큰 정수를 만들어야 하므로 9부터 앞자리에 와야 한다. 하여 9부터 0까지 반복하며 해당 숫자가 각 문자열에 몇 개가 포함되어 있는지 개수를 세어주고 적은 개수만큼 해당 숫자를 정답 문자열에 추가한다.하지만 이때 0만 공통 숫자인데 0이 2개 이상으로 중복되어 있다면 "0"이 나와야 하는 것을 고려해야 한다.이때 가장 큰 정수를 만들어 한 번에 숫자형으로 바꿔줄 수도 있지만 각 문자열이 최대 3,000,000 글자까지 가능하므로 모두 0인 문자열이라면 결.. 2023. 9. 1.
[백준] 11729번 : 하노이 탑 이동 순서 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 우선 하노이 탑의 원판 이동 순서를 알아야 한다. 원판이 1개일 경우에는 그냥 목표 장대로 옮기면 되지만 2개 이상일 때는 마지막 원판을 차례대로 목표 장대에 옮겨야 한다. 이때 마지막 원판을 제외하고 나머지 원판들은 시작 장대와 목표 장대를 제외한 나머지 한 장대에 옮겨놔야 한다. 이러한 하노이 탑의 원판 이동 순서를 파악하고 나서 문제를 해결하면 된다. sys.stdin.readline() 함수를 사용하기.. 2023. 8. 31.
[프로그래머스] 옹알이 (2) - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 해당 문제는 발음할 수 있는 경우를 조합해 가능한 문자열의 개수를 구하는 문제이다. 문자열마다 발음할 수 있는 경우를 하나씩 판별하여 연속된 발음을 제외하고 발음할 수 있다면 해당 발음을 0으로 대체한다. 마지막에 문자열이 모두 0으로 대체되었다면 발음할 수 있는 문자열이다. 발음할 수 있는 경우를 저장한다. li = ["aya", "ye", "woo", "ma"] 문자열 배열을 하나씩 추출하며 판별한다. for i in babbling 발음할 수 있는 발음을 하나씩 추출하며 f.. 2023. 8. 30.
[백준] 2805번 : 나무 자르기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M보 www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 절단기의 높이를 조절하며 잘리는 나무의 길이를 구하여 정답을 도출하는 문제이다. 절단기의 높이는 0부터 자를 나무의 최대 높이 중 하나이다.최대한 빠르게 정답을 도출하기 위해 이진 탐색을 활용하여 절단기 높이를 구하였다. sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 나무의 수와 가져갈 나무의 길이를 입력받는다. N, M =.. 2023. 8. 29.
728x90
반응형