자기개발👨‍💻 142

[Python] 백준4153 직각삼각형

import sys while(True): inp=sys.stdin.readline() number = list(map(int, inp.split())) if number[0]== 0:break number.sort() if number[0]*number[0]+number[1]*number[1]==number[2]*number[2]: print("right") else: print("wrong") 이 문제의 포인트는 입력받은 수가 a,b,c라고 할 때, c가 제일 큰 값이라는 보장이 없다는 것이다. 따라서, 입력받은 후 sort를 이용해 정렬을 하고 직각 판별하는 작업을 해야한다.

백준<2751 수정렬하기2 > 와 <10989 수정렬하기3> 비교 (이선생이알려줌)

두 문제 시간제한과 메모리제한 두 문제는 정렬문제로 같은 문제이다. 수 정렬하기3의 N이 더 크고 수들의 값은 작은데 메모리 제한이 더 심해졌다. 수 정렬하기2 코드 import sys n=int(input()) arr=[] for i in range(n): arr.append(int(sys.stdin.readline().rstrip())) arr.sort() result="" for i in range(n): result += str(arr[i])+" " print(result) 기존의 sort함수를 사용한 것은 똑같다. 하지만, 처음 정수만 input으로 받는 것을 제외하고는 sys라이브러리의 readline메소드를 사용했다. input("수를 입력하세요")처럼 input 메소드는 문자열을 인자로받고..

[Python] 백준 1978 소수 찾기

https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net n=int(input()) str =list(map(int,input().split())) count=0 if 1 in str: str.remove(1) for i in str: tmp=0 for j in range(2,i+1): if i%j==0: tmp+=1 if tmp==1: count+=1 print(count) 소수의 특징 : 1과 자신의 수로만 나뉘어져야 하는 수 (1을제외) 따라서 먼저 입력받은 정수리스트에서 1이 있으면 1을 제거해준다. 반복문을 이용..

[Python] 백준 4673 셀프넘버 (환기_성공)

https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net creator=[] for i in range(1,10001): length=len(str(i)) tmp=i if length==1: creator.append(2*tmp) elif length>1: for j in range(0,length): tmp+=int(str(i)[j]) creator.append(tmp) # print(creator) ..

[python] 백준1145 적어도 대부분의 배수

www.acmicpc.net/problem/1145 1145번: 적어도 대부분의 배수 첫째 줄에 다섯 개의 자연수가 주어진다. 100보다 작거나 같은 자연수이고, 서로 다른 수이다. www.acmicpc.net numbers=list(map(int,input().split())) check=[0]*(len(numbers)+1) numbers.sort() tmp=1 go = True while(tmp>0): for i in numbers: if tmp%i==0: check[numbers.index(i)]=1 if check.count(1)>=3: print(tmp) go=False break if go==False: break tmp+=1 check=[0]*(len(numbers)+1)

[python] 백준 1032 명령프롬프트

www.acmicpc.net/problem/1032 1032번: 명령 프롬프트 첫째 줄에 파일 이름의 개수 N이 주어진다. 둘째 줄부터 N개의 줄에는 파일 이름이 주어진다. N은 50보다 작거나 같은 자연수이고 파일 이름의 길이는 모두 같고 길이는 최대 50이다. 파일이름은 www.acmicpc.net N=int(input()) oper = [] for i in range(N): oper.append(input()) index=[] length = len(oper[0]) check=[1]*length for i in range(length): for j in range(N): if str(oper[0])[i]!=str(oper[j])[i]: check[i]=0 if 0 in check : index.ap..

[python] 프로그래머스 2019kakao 오픈채팅방

programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr def solution(record): result = [] id = {} for i in record: if i.split()[0]=="Enter" or i.split()[0]=="Change": id[i.split()[1]]=i.split()[2] for i in record: if i.split()[0]=="Enter": result.append(id.get(i.spli..

[python] 프로그래머스 2019kakao 실패율

programmers.co.kr/learn/courses/30/lessons/42889 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr def solution(N, stages): result = [] stages=sorted(stages) # 정렬 size = len(stages) # stages의 크기=> size tmp=0 answer=[] # 반환 for i in range(N): tmp=stages.count(i+1) if size==0 or tmp==0: result.append((i+1,0)) e..