https://www.acmicpc.net/problem/1920
정렬 문제다. 아주 옛날에 별생각없을때 푼적이 있는데 그땐 그냥 반복문으로 다 검사하는식으로 해서
시간초과가 뜨고 안했었다. 이번엔 뭔가 공부도 하고있겠다 구현해서 멋있게 통과해보자!!!! 하는
마음이 갑자기 들어서 구현했다. 참고로 바로 아래 소스는 답이 아니다.
그랬는데 첫 구현은 런타임 에러가 떴다. 기본 퀵정렬소스 c에서 파이썬으로 고치는데 2시간이
걸렸는데....(그냥 퀵도 아니고 실행해본결과 그나마 조금 빠른 작은 부분파일을 고려한 퀵이었다.
미묘한 +-1차이때문에 시간이 오래걸림.) 냈는데 런타임에러뜨니까 힘이 빠졌다. 역시 그냥
라이브러리를 믿어야되..... 찾아보니까 이진 탐색까지 파이썬에서는 라이브러리로 다 있다. -_-............
# -*- encoding: cp949 -*- import bisect n = int(raw_input()) a = sorted(map(int,raw_input().split())) m = int(raw_input()) find = map(int,raw_input().split()) for i in range(m): r = bisect.bisect(a,find[i]) if a[r-1]!=find[i]: print 0 else: print 1
2016-10-11 추가.
지금 보니까 이 코드도 그리 좋아보이진 않는다. 지금의 나라면 set으로 해쉬맵을 만들어서 O(1)로
# -*- encoding: cp949 -*- n=input() num = set(map(int,raw_input().split())) m=input() for i in map(int,raw_input().split()): if i in num: print 1 else: print 0
탐색을 했을것같다.
https://www.acmicpc.net/problem/1620
나는야 포켓몬 마스터... 앞의 글은 다 무시하고 문제 부분만 읽으면 된다.
문자열 정렬에 관한 문제이다.
import bisect n,m = map(int,raw_input().split()) pokemon = [raw_input() for i in xrange(n)] sort_pokemon = sorted(pokemon) pokemon_num = sorted([[pokemon[i],str(i+1)] for i in xrange(len(pokemon))], key=lambda x:x[0]) answer = '' for i in xrange(m): name_or_num = raw_input() if name_or_num.isdigit(): answer += pokemon[int(name_or_num)-1]+'\n' else: answer += pokemon_num[bisect.bisect(sort_pokemon, name_or_num)-1][1]+'\n' print answer[:-1]
https://www.acmicpc.net/problem/1764
듣보잡문제. 별 설명이 필요 없다.
import bisect
n,m = map(int,raw_input().split())
hear = sorted([raw_input() for i in xrange(n)])
hear_see = []
for name in sorted([raw_input() for i in xrange(m)]):
if hear[bisect.bisect(hear,name)-1]==name:
hear_see.append(name)
print len(hear_see),'\n','\n'.join(hear_see)
https://www.acmicpc.net/problem/1181
word = list(set([raw_input() for i in xrange(int(raw_input()))])) print '\n'.join(sorted(word, key=lambda x:(len(x),x)))
'algorithm > problem solving' 카테고리의 다른 글
acmicpc.net 2468(BFS), 2589(BFS) c++ (0) | 2016.08.08 |
---|---|
acmicpc.net 4963(백트래킹), 1759(BFS?;;) (0) | 2016.08.07 |
정올 1108(BFS), acmicpc 1987(DFS,c++) (0) | 2016.07.30 |
acmicpc.net 2638(BFS), acmicpc.net 2636(BFS) (0) | 2016.07.29 |
acmicpc.net 1260(DFS, BFS), 2178(BFS) (0) | 2016.07.28 |