목록전체 글 (245)
말랑한 하루
[ 학습 내용 ] ※ Comparable - compareTo Collection(ArrayList etc)에 추가될 데이터에 정렬이 필요한 경우 class Pair_1157 implements Comparable { int cnt; char word; public Pair_1157(int cnt, char word) { this.cnt = cnt; this.word = word; } @Override public int compareTo(Pair_1157 o) { return o.cnt - this.cnt; } } [ 소스 코드 ] import java.io.*; import java.util.*; class Pair_1157 implements Comparable { int cnt; char word..
[ 학습 내용 ] ※ 문자열 ↔ 리스트, 오름/내림차순 정렬 list(string)# string -> list ''.join(list)# list -> string sorted(list)# 오름 sorted(list, reverse=True)# 내림 [ 소스 코드 ] import sys input = sys.stdin.readline print(''.join(sorted(list(input().rstrip()), reverse=True)))
[ 개요 ] 모든 육지를 시작으로, 다른 육지까지 갈 수 있는 거리 중 가장 큰 최대거리를 뽑아주면 된다. [ 학습 내용 ] ※ 클래스 선언 (클래스 중복선언을 피하고자, 문제번호를 추가하였음) class Pair { int y; int x; public Pair (int y, int x) { this.y = y; this.x = x; } } [ 소스 코드 ] import java.io.*; import java.util.*; class Pair_2589 { int y; int x; public Pair_2589(int y, int x) { this.y = y; this.x = x; } } class Data_2589 { Pair_2589 yx; int cnt; public Data_2589(Pair_2..
[ 개요 ] https://www.acmicpc.net/problem/1181 [ 학습 내용 ] ※ 입력 import sys input = sys.stdin.readline # 정수입력 N = int(input()) # 공백을 제거하는 문자열 입력 content = input().rstrip() ※ set을 활용한 정렬된 리스트 ary : [(3, 'but'), (1, 'i'), (4, 'wont'), (8, 'hesitate'), (2, 'no'), (4, 'more'), (2, 'no'), (4, 'more'), (2, 'it'), (6, 'cannot'), (4, 'wait'), (2, 'im'), (5, 'yours')] ### sorted # 기본적으로 새로운 정렬 목록 반환 ary = list..
[ 학습 내용 ] python에서는 stack을 지원하지 않음 [ 소스 코드 ] def solution(order): answer = 0 stack = [] box = 1 idx = 0 while box < len(order)+1: stack.append(box) while stack[-1] == order[idx]: idx += 1 stack.pop() if len(stack) == 0: break box += 1 return idx
[ 학습 내용 ] ※ itertools ( 무한 반복 ) ### count count(10) #result : 10 11 12 13 14 ... ### cycle cycle('ABCD') #result : A B C D A B C D ... ### repeat repeat(10, 3) #result : 10 10 10 ( 짧은입력 시퀸스 ) ### accumulate accumulate([1,2,3,4,5]) #result : 1 3 6 10 15 ### chain chain('ABC', 'DEF') #result : A B C D E F ### chain.from_iterable chain.from_iterable(['ABC', 'DEF']) #result : A B C D E F ### compres..
[ 학습 내용 ] 중복되지 않는 순열 [ 소스 코드 ] import java.util.*; import java.util.stream.*; class Solution { public int answer = 0; public int student[] = new int[3]; public void trio(int idx, int cnt, int number[]) { if (idx > number.length) return; if (cnt == 3) { int sum = 0; for(int x : student) { sum += x; } if (sum == 0) answer++; return; } for(int i=idx; i
[ 개요 ] 토핑을 나눌 수 있는 방법은 전체 토핑이 있을 때, 토핑을 순차적으로 제외해가며 제외된 토핑과 남아있는 토핑을 비교하는 경우로 생각할 수 있음 [ 학습 내용 ] 이 문제에서 defaultdic와 counter을 사용하였을 때, 실행결과 속도는 defaultdict가 2배 빨랐음 ※ collections from collections import defaultdict ##### useage dicList = defaultdict(list) dicSet = defaultdict(set) ### 다음 list를 defaultdict에 list형태로 추가할 때 다음의 예시가 있음 s = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red'..