알고리즘먼데이 5

알고리즘 먼데이 3주차 Python

0커플 점수의 합한 값이 0이 되는 두 명을 짝지음 4번째 규칙을 지키지 못해서 두명이 소개팅을 못 받음. 소개팅을 진행하지 못한 사람의 점수를 합한 값을 구하라. 지인의 수가 N(int) 그리고 다음 줄에 N명에 대한 점수가 있다. 처음에는 list를 sort해서 index로 풀려고 했지만 아무리 생각해도 아닌 것 같아서 절대값 함수를 이용해서 같으면 중복이니까 없에는 것으로 하려고 했다. map 함수로 모든 요소를 abs, 절대값화 해주면 같은 점수는 없으니까 3이 2개 2가 2개 4가 1개 5가 1개 이런식으로 나오게 될 것이고, 나는 그러면 2개짜리가 아니라 하나만 나오는 녀석들을 딕셔너리에서 뽑아서 다시 리스트에 넣고 sum()을 통해서 합을 구하면 되는 노릇이다. 근데 이렇게 하면 절대값이라서..

파이썬 입력값 sys.stdin.readline()으로 두 줄 입력 읽는 방법

너무 쉬워서 아무도 안알려준 sys.stdin.readline()으로 두 줄 입력 읽는 방법 a = a = sys.stdin.readline() b = sys.stdin.readline() print(a, b) result : 'a', 'b' ㅎㅎㅎㅎㅎ 이걸 몰라서 구글링 1시간 해맴. 구글링으로 열심히 파이썬 입력 두번째 줄 읽기 input second line 치고 있었음... 후 def sosu(num): for i in range(2, num): if num % i !=0: pass else: return 0 return 1 for i in range(2, len(c+1)): temp = sosu(i) if temp ==1: result += c[i-1] print (type(a))

파이썬 숫자 입력 받고 리스트로 순서 정렬하기

import sys a,b,c,d = map(int, sys.stdin.readline().split()) dis = [a,b,c,d] dis.sort() input이 한 줄에 띄어쓰기로 구분되어 있다고 하자. a,b,c,d로 둔 이유는 내가 입력할 숫자가 4개이기 때문이다. 이런건 문제가 준다. 안주면 이상한거다. 만약 map(int, 이거 안쓰면 숫자 inputdl 1, -3, 4, -8 이 어떻게 되나면 ['1', '-3', '4', '-8'] 이렇게 string 문자열로 나오게 된다. 나는 숫자를 다뤄야한다! 그래서 map(int, sys.stdin.readline().split())을 쓴다. 그리고는 어떻게 해야 숫자들을 큰 순서대로 혹은 작은 순서대로 정렬할 수 있을까 하는 것이다. 이 sor..

파이썬 여러줄 입력받기 문자열 숫자 따로 따로 인식하기

파이썬 알고리즘 풀 때 내가 제일 어려워 하는 것은 입력값 처리하는 것이다. 이 문제는 동명이인 알고리즘먼데이 구름 문제를 풀다가 입력값을 처리하기 위해 찾은 것들을 공유하기 위해 만들었다. 1. 나는 입력값 받는 건 input()밖에 모르는데? 맞다. 나는 백준이든 프로그래머스든 level1에서 벗어나지 않았던 몸. 보통 입력을 space단위로 받았었지 줄 단위로 받아본 적이 없다. 그래서 여러줄 받는 법을 몰랐다. import sys read = sys.stdin.readline().split() num = int.(read[0]) a = [sys.stdin.readline() for _ in range(num)] 먼저 여러줄 단위로 입력을 받기 위해서는 sys.stdin.readline()이 필요한..