Problem Solving

이 문제는 이것이 코딩테스트다. 180페이지 문제이다. sort함수의 key를 알면 쉽게 풀 수 있는 문제이다. 아래는 나의 코드이다. 입력받는 부분에서 순서만 바꿔주면 돼서 key를 사용하진 않았다. 하지만 어려운 문제에서는 key를 알면 많은 도움이 될 것이다. import sys N = int(sys.stdin.readline()) mylist=[] result=[] for i in range(N): temp=list(sys.stdin.readline().split()) mylist.append((int(temp[1]),temp[0])) mylist.sort() for i in mylist: result.append(i[1]) print(result) 아래에 sort() 함수에 대해 정리 해두었다...
아래는 sort함수의 사용법이다. 리스트.sort()로 사용한다. 숫자는 음수,0,양수 순으로 정렬을 해주고 문자는 대문자가 앞으로 소문자가 뒤로간다. sorted() sorted( , key = , reverse = ) # 뿐 아니라, , , 에도 사용 가능하다. 원본 내용을 바꾸지 않고, 정렬한 값을 반환한다. List, tuple, Dictionary, str에 모두 사용 가능하다. key 를 통하여 정렬할 기준을 정할 수 있다. reverse 가 True이면 내림차순, False이면 오름차순으로 정렬된다. arr = [10, 40, 20, 15] arr = sorted(arr, reverse = True) print(arr) >>>> [40, 20, 15, 10] sort() .sort(key =..
이것이 코딩테스트다 178페이지문제이다. 단순한 정렬 문제이다. sort함수를 쓰면 쉽게 구현 할 수 있다. 다만 sort함수는 기본적으로 오름차순이다. 설정을 바꾸어 주는 것이 이문제의 문제였다. 아래는 나의 코드 import sys N = int(sys.stdin.readline()) numbers=[] for i in range(N): numbers.append(int(sys.stdin.readline())) numbers.sort(reverse=True) print(numbers) 아래는 sort함수의 사용법이다. 리스트.sort()로 사용한다. 숫자는 음수,0,양수 순으로 정렬을 해주고 문자는 대문자가 앞으로 소문자가 뒤로간다. sorted() sorted( , key = , reverse = ..
이 문제는 이것이 코딩테스트다. 152페이지 문제이다. BFS문제를 많이 다뤄 보지 않았어서 시간이 오래 소모 되었던 것같다. DFS,BFS는 양식이 거의 비슷하니깐 틀자체를 기본적으로 몸에 익혀야겠다. 아래는 나의 코드이다. import sys from collections import deque N,M = map(int,sys.stdin.readline().split()) myMap = [] visited=[[False]*M for _ in range(N)] moves = [[1,0],[0,1],[-1,0],[0,-1]] for i in range(N): temp=list(map(int,sys.stdin.readline().split()[0])) myMap.append(temp) def BFS(sta..
이 문제는 이것이 코딩테스트다 책 149페이지의 문제이다. DFS의 제일 기초적인 문제이다. 구현자체는 빠르게 했는데 변수이름을 잘못적어 오류를 찾느라 시간이 생각보다 오래 걸렸다... DFS문제는 주기적으로 풀어주어야겠다. 아래는 나의 코드이다. import sys myMap=[] move=[(-1,0),(1,0),(0,1),(0,-1)] N,M= map(int,sys.stdin.readline().split()) visited=[[True]*N for _ in range(M)] for i in range(M): temp = (sys.stdin.readline().split()) myMap.append(list(map(int,temp[0]))) print(myMap) def search(start_x,..
이 문제는 이것이 코딩테스트다 118페이지에 있는 문제이며 난이도는 2/3 이고 풀이시간은 40분이다. 이 문제는 한번 풀어본 적이 있어서 풀이시간안에 풀 수 있었다. DFS 문제와 거의 흡사한 듯하다. 아래는 나의 코드다. import sys direction=[(0,-1),(1,0),(0,1),(-1,0)] #북,동,남,서 mymap = [] n,m=map(int,sys.stdin.readline().split()) x, y, start_direction = map(int,sys.stdin.readline().split()) for i in range(n): mymap.append(list(map(int,sys.stdin.readline().split()))) result=0 def move(x,y,..
이것이코딩테스트다 118페이지 문제이다. 풀이제한시간은 20분이며 제한시간에 딱 맞게 푼 것 같다. 오랜만에 파이썬 언어를 사용하니 헷갈리는게 많아서 시간 소비가 많았다.. 항상 구현문제를 풀다보면 그냥 노가다를 할까 라는 생각이 많이 드는데 실력이 부족해서 인듯하다.. 아래는 나의 코드이다. myinput=input() row_list=['a','b','c','d','e','f','g','h'] row=myinput[0] column=int(myinput[1]) row1=0 row2=0 col1=0 col2=0 for i in range(len(row_list)): if row_list[i]==row: row_num=i+1 row_check2=[row_num+2, row_num-2] # 좌우 두칸che..
2018 기업 알고리즘 대회 문제이다. 이것이 코딩테스트다 99페이지 문제이다. 나의 코드 N,K = map(int,input().split()) count=0 while N>1: if N>=K: N=N/K count+=1 else: N-=1 count+=1 print(count)
윤재에요
'Problem Solving' 카테고리의 글 목록 (25 Page)