프로그래밍(14)
-
[프로그래머스] 숫자의 표현 - 파이썬 풀이
문제 설명 Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 수 있습니다. 1 + 2 + 3 + 4 + 5 = 15 4 + 5 + 6 = 15 7 + 8 = 15 15 = 15 자연수 n이 매개변수로 주어질 때, 연속된 자연수들로 n을 표현하는 방법의 수를 return하는 solution를 완성해주세요. 제한사항 n은 10,000 이하의 자연수 입니다. 풀이 손풀이를 간단히 첨부하겠다. 처음에는 등차수열 공식으로 접근해보려고 했는데, 이것을 프로그래밍으로 구현을 하기에 괴리감이 있었다. 🥲 두번째로는, 예시 케이스를 보며 규칙성을 확보하여, 이에 대한 수..
2023.02.14 -
[파이썬] str.capitalize() [프로그래머스 JadenCase 문자열 만들기]
https://school.programmers.co.kr/learn/courses/30/lessons/12951 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 위 문제를 푸는 도중, 절반의 Test case에서 오답이 나는 것을 확인. 문제의 제한조건을 체크 해 보니 '공백문자가 연속해서' 나올 수 있습니다. 라는 조건이 있었고, 처음에는 연속해서 나오더라도, 정제를 해야하는 걸까 ? 하고 고민했지만, 그건 아닌 것 같아서 바로 단어단위로 쪼개는 것 라인을 수정 s.split() --> s.split(" ") 이렇게 고치는 것만으로도 코드가 해결된다. ..
2023.02.08 -
[프로그래머스] Lv.0 안전지대 파이썬 코드 풀이
문제설명 다음 그림과 같이 지뢰가 있는 지역과 지뢰에 인접한 위, 아래, 좌, 우 대각선 칸을 모두 위험지역으로 분류합니다. 지뢰는 2차원 배열 board에 1로 표시되어 있고 board에는 지뢰가 매설 된 지역 1과, 지뢰가 없는 지역 0만 존재합니다. 지뢰가 매설된 지역의 지도 board가 매개변수로 주어질 때, 안전한 지역의 칸 수를 return하도록 solution 함수를 완성해주세요. 나의 풀이 핵심은, 지뢰의 좌표를 구하여서, 그 주변 8방향에 대해 지뢰를 추가적으로 설치한 후에, 지뢰가 없는 지역을 세주면 된다. 객체지향 프로그래밍 연습을 해보기 위해 아래와 같이 구현해보았다. class Mine(): def __init__(self, board): self.coord = board self..
2023.01.24 -
[Python] pymysql을 활용하여, mysql에서 mysqldump파일(.sql) 복원 및 csv파일 만들기
서론 : 머신러닝에 활용하기 위한 데이터를 만들기 위해 데이터 전처리를 해야하는 과정에서, .sql 파일을 통해 데이터베이스를 전달받아서 이를 python / jupyter notebook에 활용하기 위한 일련의 과정을 정리하였다. - [input : .sql 확장자 파일, output : .csv 확장자 파일] - 전제조건 : mysql 의 정상적인 설치 얼마전에 모 스타트업에(기업명은 향후에 이해관계가 없어지면.. 공개할지도?) ML 엔지니어에 서류합격이 되어, 1/31 까지 과제평가 대상자라는 통보를 받게 되었다. 과제가 뭘까 하고 첨부파일을 확인하는 순간, 이걸 할 수 있을까 ? 그래도 2주정도의 시간이 주어졌는데, 어떻게든 해보자. 라는 마음으로 현재도 진행중이다. 그 진행 과정의 일부를 포스팅..
2023.01.22 -
[자료구조, 파이썬] 리스트, 딕셔너리, 튜플(list, dict, tuple)
현재까지의 코딩테스트 문제를 풀이했던 경험으로 볼 때, 3가지 자료구조의 용례를 개인적으로 정리해보면 다음과 같다. - 리스트 : 뭘 써야할 지 모를 때, 가장 무난하게 사용하기 좋다. C++등의 배열에 해당하는 컨셉이 구현되어 있어, 인덱스에 따른 순차적인 접근이 가능하다. 예 ) a = [1, 2, 3, 'a', 'b'] >> a[1] = 2 - 딕셔너리 : 리스트와 달리, 사람이 알아볼 수 있는 자료형으로 태깅하여(해싱) 자료값에 접근이 가능하다. 또 중복값이 불가능하다. 예) b = {'name' : 'gildong', 'birth' : '2000. 01. 01', 'address' : '서울시 관악구 관악로 144'} >> b['name'] = 'gildong' - 튜플 : immutable(변..
2023.01.18 -
[프로그래머스] 코딩테스트 연습 - 이중우선순위큐 풀이 (파이썬)
문제 - 요약 명령어 수신 탑(높이) I 숫자 큐에 숫자 삽입 D 1 큐에서 최댓값 삭제 D -1 큐에서 최솟값 삭제 모든 연산 수행 후 큐가 비어있으면 [0, 0], 아니면 [최댓값, 최솟값] return - 제한사항 : operations 의 길이 : 1 ~ 1,000,000 : operations 의 원소 : "명령어 데이터" 의 형식 - 연산에서 최댓값/최솟값이 둘 이상일 경우 하나만 삭제 : 빈 큐에 데이터 삭제 연산 - 무시 - 입출력 예시 operations return ["I 16", "I -5643", "D -1", "D 1", "D 1", "I 123", "D -1"] [0,0] ["I -45", "I 653", "D 1", "I -642", "I 45", "I 97", "D 1", "..
2023.01.03