목록PROGRAMMING::LANGUAGE/Python (38)
Love Every Moment
출처 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 가장 추천 많이 받은 풀이 def solution(id_list, report, k): answer = [0] * len(id_list) reports = {x : 0 for x in id_list} for r in set(report): reports[r.split()[1]] += 1 for r in set(report): if reports[r.split()[1]] >= k: answer[id_list.index(r.split()[0])] += ..
1. 클래스와 객체 객체 = 인스턴스, 객체를 클래스와 연관지어 설명할 때에 인스턴스라고 부른다 객체(Object)는 특정한 개념이나 모양으로 존재하는 것을 의미 게임 캐릭터를 예로 들자면 기사, 마법사, 궁수, 웹 브라우저에서는 스크롤 바, 체크박스 등이 각각의 객체가 된다 클래스(Class) 는 프로그래밍으로 객체를 만들 때에 사용하는 것으로, '속성(Attribute)'과 '메서드(Method)'를 가진다 기사라는 클래스는 체력, 마나 등의 속성과 찌르기, 베기 등의 메서드를 가진다 복잡한 문제를 잘게 나누어 객체로 만들고, 객체를 조합해서 문제를 해결하는 방식을 '객체 지향 프로그래밍'이라고 한다 2. 클래스 사용법 (1) 클래스 생성 class 클래스이름: def 메서드(self): 코드 클래스..
출처 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net 문제 어떤 나라에 N개의 도시가 있다. 이 도시들은 일직선 도로 위에 있다. 편의상 일직선을 수평 방향으로 두자. 제일 왼쪽의 도시에서 제일 오른쪽의 도시로 자동차를 이용하여 이동하려고 한다. 인접한 두 도시 사이의 도로들은 서로 길이가 다를 수 있다. 도로 길이의 단위는 km를 사용한다. 처음 출발할 때 자동차에는 기름이 없어서 주유소에서 기름을 넣고 출발하여야 한다. 기름통의 크기는 무제한이어서 얼마든지 많은 기름을 넣을 수 있다. 도로를 ..
출처 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 문제 한 개의 회의실이 있는데 이를 사용하고자 하는 N개의 회의에 대하여 회의실 사용표를 만들려고 한다. 각 회의 I에 대해 시작시간과 끝나는 시간이 주어져 있고, 각 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 회의의 최대 개수를 찾아보자. 단, 회의는 한번 시작하면 중간에 중단될 수 없으며 한 회의가 끝나는 것과 동시에 다음 회의가 시작될 수 있다. 회의의 시작시간과 끝나는 시간이 같을 수도 있다. 이 경우에는 시작하자마자 끝나는 것으로 생각하면 된다. 첫째 줄에 회의의 수 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N+1 줄까지 각 회의의 정보..
출처 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 문제 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. 첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력하라. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력하라. 예제 # 입력 Mississipi zZa z baaa # 출력 ? Z Z A 풀이 - (1) # 입력 받은 문자열을 모두 대문자화 + 리스트화 string = list(input()...
출처 2675번: 문자열 반복 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다 www.acmicpc.net 문제 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다. 예제 # 입력 2 3 ABC 5 /HTP # 출력 AAABBBCCC /////HHHHHTTTTTPPPPP 풀이 - (1) # 전체 케이스 개수 cnt = int(input())..
출처 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 문제 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오. 예제 # 입력 baekjoon # 출력 1 0 -1 -1 2 -1 -1 -1 -1 4 3 -1 -1 7 5 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 풀이 string = input() # 알파벳(a~z)를 담을 리스트 alphabe..
1. 튜플과 리스트의 차이 튜플은 리스트와 매우 유사하지만, 두 가지 차이점이 있다 첫 번째는 리스트가 대괄호[] 를 이용한다면 튜플은 소괄호() 를 사용한다는 것, 두 번째는 리스트는 변경 가능(mutable)하지만 튜플은 변경 불가능(immutable)하다는 것이다 튜플이 immutable 하다는 특징 때문에 위와 같이 리스트에서 사용 가능했던 sort(), append(), reverse() 가 튜플에서는 사용 불가능 이 특성 때문에 튜플은 메모리나 퍼포먼스 면에서 리스트보다 효율적이며 임시 변수를 만들 때에는 리스트보다 튜플이 선호된다 l = list() dir(l) # ['append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reve..