-
프로그래머스[Python] - 괄호변환, 예상 대진표, 뉴스 클러스터링, 튜플프로그래머스문제정리 & Python잡다한것 2021. 7. 12. 16:11728x90반응형
괄호 변환
문제 url : https://programmers.co.kr/learn/courses/30/lessons/60058
문제 내용 : 균형잡힌 괄호 문자열을 올바른 괄호 문자열로 변환하는 과정
알고리즘 : 단순 구현, 스택을 이용한 문자열 판별
예상 대진표
문제 url : https://programmers.co.kr/learn/courses/30/lessons/12985
문제 내용 : N명의 참가자가 있을때, 토너먼트로 대회를 진행한다. 이때 A선수와 B선수가 서로 몇라운드에서 만나게 될까? N명의 대결은 1번은 2번과 3번은 4번과 N-1번은 N번과 대결을 한다.(단, A번 참가자와 B번 참가자는 서로 붙게 되기 전까지 항상 이긴다고 가정한다.
생각해봐야 할 점 : N 은 2^1 이상 2^20 이하인 자연수 (굉장히 많은 사람이 있을 수 있음)
알고리즘 : 단순 구현
알게된 점 : Python 의 round() 함수는 소숫점을 반올림하는 함수이다. 이때 조심해야할 점은 앞자리가 짝수인지 홀수인지에 따라 반올림한 값이 달라질 수 있다. 그래서 앞자리가 짝수인 경우는 +1을 해줘야 한다.
ex) round(4.5) ⇒ 4 , round(3.5) ⇒ 4
뉴스 클러스터링
문제 url : https://programmers.co.kr/learn/courses/30/lessons/17677
문제 내용 : 뉴스에서 주요한 주제들을 모으기 위해서 "자카드 유사도"를 사용하여 집합간의 유사도를 판별한다.
두 문자열에서 각각 두개씩 문자를 끊어서 집합을 형성하고 이를 통해 집합간 자카드 유사도를 출력한다.
(영문자만 유효하며, 공백, 숫자, 특수 문자는 글자를 버린다.)
알고리즘 : 단순 구현, 문자열 처리, 다중집합
알게된 점 : 일반 합, 교집합 같은 경우에는 중복을 허용하지 않는 set() 자료형을 통해서 쉽게 구할 수 있었으나, 본 문제에서는 중복을 허용했기 때문에 set자료형을 쓸 수 없을 것이라 판단하였다. 그래서 다중 집합을 구현할 수 있는 코드를 작성하였다.
튜플(2019 카카오 개발자 겨울 인턴십)
문제 url : https://programmers.co.kr/learn/courses/30/lessons/64065
문제 내용 : 튜플은 순서가 정해져 있고, 원소 갯수도 유한하다. 중복된 원소도 있을 수 있지만, 본 문제에서는 중복된 원소가 없는 튜플을 가지고 구현한다. 튜플의 집합이 특정한 규칙이 있다. 이 규칙을 만족하는 집합을 문자열 형태로 주어질 때, 원래 튜플이 무엇인지 구하라
알고리즘 : 단순 구현, 문자열 슬라이싱, 집합
반응형'프로그래머스문제정리 & Python잡다한것' 카테고리의 다른 글
프로그래머스[Python] - 거리두기 확인하기, 후보키 (0) 2021.07.15 프로그래머스[Python] - 게임 맵 최단거리, 조이스틱, 메뉴 리뉴얼, 프린터 (0) 2021.07.13 Python 백준 2252 - 줄 세우기(위상 정렬) (0) 2021.06.04 Python numpy 함수 np.dot() 가 동작하는 내부 원리 (0) 2021.05.19 가장 큰 수 - 프로그래머스[Level 2], 코드 비교하기 (0) 2021.05.13