본문 바로가기
728x90
반응형

Python437

[파이썬으로 하는 데이터 분석] 9. 인덱스 - 우당탕탕 개발자 되기 프로젝트 먼저 DataFrame을 하나 생성해 줍니다. DataFrame을 생성할 때 인덱스를 따로 지정해주지 않으면 default로 정수형으로 0번부터 지정됩니다. 인덱스의 원래 용도는 row 구별을 위한 것이라 인덱스는 유일성이 존재해야 합니다. 만약 이미 생성된 DataFrame의 인덱스를 변경하기 위해서는 set_index() 메서드를 활용하면 됩니다. DataFrame 이름.set_index('column 이름') 형식으로 작성하면 지정한 column의 값을 인덱스로 바꿔줍니다. 만약 set_index() 메서드를 적용한 상태에서 한 번 더 다른 column 이름으로 set_index() 메서드를 사용하면 이전 인덱스가 사라지게 되므로 사용하실 때 주의하시길 바랍니다. set_index() 메서드로 co.. 2023. 10. 14.
[백준] 11005번 : 진법 변환 2 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 11005번: 진법 변환 2 10진법 수 N이 주어진다. 이 수를 B진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 10진법 수를 원하는 진법의 수로 바꾸는 문제이다. 우선 각 진법별 수를 0~9까지, A~Z까지 한 리스트에 저장한다. 10진법 수를 원하는 진법의 수로 나눈 나머지의 값을 인덱스 값으로 갖는 해당 문자를 저장하며 진법을 바꾼다. 이때 바꾼 결과는 거꾸로 저장되어 있기 때문에 최종 결과를 뒤집어 준다. 나머지를 추가한 뒤에는 해당 수를 진법 수로 나눈 몫의 결과로 새로 저장하며 0이 될 때까지 반복한다. ex) 8을.. 2023. 10. 14.
[프로그래머스] 기지국 설치 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 해당 문제는 전파를 전달해야 할 구간을 구하고 해당 구간에 최소한으로 설치할 기지국의 개수를 구여 모두 더해주면 된다. 각 구간별 설치할 기지국의 최소 개수를 구하여 더하는 결과를 반복하다가 마지막 기지국에서의 계산이 끝나 반복이 종료되면, 이후 남은 구간도 고려해야 한다. 하여 마지막에 제일 뒤쪽 남은 구간에 대한 기지국 설치 개수를 계산하여 더해주면 된다. 올림 함수인 ceil()를 사용하기 위해 math 모듈을 불러온다. import math 전파를 전달해야 할 구간의 시작.. 2023. 10. 13.
[백준] 2745번 : 진법 변환 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 2745번: 진법 변환 B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 입력받은 진법의 수를 10진수로 변환하는 문제이다. 0부터 Z까지 총 36진법까지 존재하므로 해당 수를 리스트로 저장한다. 이는 입력받은 수를 정수로 표현한 값을 인덱스로 찾기 위함이다. 0 = 0, 1 = 1 ~ A = 10, B = 11 어떤 수를 10진수로 변환하려면 1의 자릿수부터 끝까지 반복하며 해당 진법의 0 제곱부터 자릿수 - 1 제곱까지 곱한 결과를 더해주면 된다. ex) 1101 2진수 -> 1 * 2**.. 2023. 10. 12.
[프로그래머스] 소수 찾기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 해당 문제는 문자열로 입력된 숫자를 가지고 소수가 가능한 모든 숫자의 조합을 만든다. 모든 숫자의 조합을 구했으면 각 숫자를 하나씩 가져와 소수인지 판별한다. 모든 숫자의 조합을 만들 때는 순열(permutations) 함수를 활용해 각 자리별로 가능한 조합을 구한다. 가능한 숫자 조합을 구할 때 순열 함수를 사용하기 위해 permutations 모듈을 불러온다. from itertools import permutations 문자열로 입력받은 숫자를 개별로 모두 분리하여 리스트로.. 2023. 10. 11.
[백준] 2563번 : 색종이 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 2563번: 색종이 가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 색종이를 붙이면서 겹치는 부분으로 고려하여 전체 색종이가 붙여진 면적을 계산하는 문제이다. 색종이를 붙일 도화지의 면적을 가로, 세로 100씩 생각하여 2차원 배열로 만든다. 이후 색종이를 붙일 때마다 붙여지는 면적을 1로 바꾼다. 이때 겹치는 부분이 생겨도 그대로 1로만 바꾸기 때문에 겹치는 부분에 대한 계산을 따로 하지 않아도 된다. 마지막에 0에서 1로 바뀐 면적만 계산해 주면 쉽게 결과를 구할 수 있다. sys.st.. 2023. 10. 10.
[프로그래머스] 다리를 지나는 트럭 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 해당 문제는 큐 자료구조를 활용하여 트럭이 모두 건너는 최소 시간을 구하는 문제이다. deque 자료구조를 사용하여 다리의 각 칸을 만들어주고 트럭을 한 칸씩 이동하도록 구현하였다. 이때 매번 다리 위 전체 무게를 sum() 함수로 계산하면 많은 시간이 소요되므로 다리 위 전체 무게를 저장할 변수를 생성해 따로 계산해 주었다. 트럭을 다리 위로 올릴 수 있으면 출발시키고, 그렇지 않다면 앞으로 이동시키고 남은 칸은 0으로 채운다. deque 자료구조를 사용하기 위해 deque 모.. 2023. 10. 9.
[파이썬으로 하는 데이터 분석] 8. 추가 & 변경 - 우당탕탕 개발자 되기 프로젝트 DataFrame에 row, column, 값(원소)을 추가할 수 있습니다. column을 추가하려면 새로운 column을 생성해 주고 각 row 마다 column의 값을 지정하면 됩니다. DataFrame 이름['새로운 column 이름'] = [각 row 별 column 값] 형식으로 작성해 주면 되는데, 만약 값을 하나만 줬다면 모든 row의 column 값이 동일하게 추가됩니다. row를 추가하려면 loc를 활용하여 새로운 row를 생성하고 각 column 마다 값을 지정해 주면 됩니다. DataFrame 이름.loc['새로운 row 이름'] = [각 column 별 값들] 형식으로 작성해 주면 새로운 row가 추가됩니다. DataFrame의 값(원소)을 변경할 수도 있습니다. 값(원소)을 변경할.. 2023. 10. 8.
[백준] 10798번 : 세로읽기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 10798번: 세로읽기 총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’ www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 입력받는 문자열을 2차원 배열로 저장하고 이를 출력하는 문제이다. 모든 문자열의 0번 인덱스부터 가장 긴 문자열의 마지막 인덱스까지 출력하면 된다. 하지만 더 짧은 문자열이 존재할 수 있고 이런 경우 더 이상 출력할 문자가 없으면 다음 문자열의 문자를 이어서 출력하면 된다. sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 총 5줄의 문자열을 입력받아 문자열마다.. 2023. 10. 8.
[파이썬으로 하는 데이터 분석] 7. 선택 - 우당탕탕 개발자 되기 프로젝트 선택은 매우 중요한데, 선택에는 row 선택과 column 선택, 값(원소) 선택이 있습니다. 먼저 row 선택에서는 loc와 iloc를 사용합니다. DataFrame 이름.loc[인덱스 이름] 형식으로 작성해 주면 인덱스 이름을 갖는 row를 선택하여 해당 row가 가지고 있는 column을 보여줍니다. DataFrame 이름.iloc[인덱스 번호] 형식으로 작성해 주면 해당 번호의 인덱스 row를 선택하여 해당 row가 가지고 있는 column을 보여줍니다. iloc의 i는 integer이며 loc에서 인덱스 이름 형식으로 작성해 준 것을 정수 형태로 작성하는 것입니다. loc와 iloc를 사용하여 row를 선택할 때 여러 개의 row를 선택하고자 한다면, 파이썬에서 사용한 슬라이싱 개념과 방식을 동.. 2023. 10. 7.
728x90
반응형