개발

순서쌍의 개수 풀이 def solution(n): return len([i for i in range(1, n+1) if n%i==0]) 나누어 떨어지면 순서쌍에 해당된다. 리스트를 만들고 리스트의 길이를 리턴한다. 다른 풀이 def solution(n): return len(list(filter(lambda v: n % (v+1) == 0, range(n)))) filter(function, iterator) 함수를 사용해서 iterator 값을 함수에 넣어서 true인 값을 리스트로 만든다. 0부터 n-1까지의 값들 중에 나누어 떨어지는 값을 필터링한다. 진료순서 정하기 풀이 def solution(emergency): li = sorted(emergency, reverse=True) return [..
숨어있는 숫자의 덧셈(1) 풀이 def solution(my_string): return sum([int(i) for i in my_string if i in ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]]) 인덱스 바꾸기 풀이 def solution(my_string, num1, num2): s = list(my_string) s[num1], s[num2] = s[num2], s[num1] return ''.join(s) list(my_string)으로만 해도 리스트로 변경된다. swap()함수를 따로 사용할 필요 없이 파이썬에서는 문자를 서로 바꾸는 문법을 지원한다. 특정 문자 제거하기 풀이 def solution(my_string, letter): s =..
최빈값 구하기 풀이 def solution(array): count = [0]*(max(array)+1) for i in array: count[i] += 1 alot = -1 for i in count: if alot < i: alot = i return count.index(alot) if count.count(alot) == 1 else -1 코딩을 C로 시작한 터라.. 이런 방법밖에는 생각나지 않았다.. array의 최대값 크기만큼 count 배열을 생성한다. array의 값이 나올 때마다 count 배열의 인덱스에서 +1을 한다. count 배열의 가장 큰 값이 최빈값이다. 가장 큰 값이 2개 이상이면 -1을 리턴한다. 다른 풀이 def solution(array): while len(array..
피자 나눠 먹기(2) 풀이 import math def solution(n): return n/math.gcd(6, n) 6과 n의 최소공배수를 6으로 나눈 값이 답이다. 파이썬 3.9부터 최소공배수를 구하는 lcm함수를 지원하는데, 프로그래머스의 버전이 3.8.5이기 때문에 lcm 함수가 지원되지 않는다. 따라서 최소공배수는 6*n/gcd(6,n) 이다. 답은 6*n/gcd(6,n)/6을 구하면 되는데, 약분해서 n/gcd(6,n)을 계산한다. 피자 나눠 먹기(3) def solution(slice, n): return n//slice if n%slice==0 else n//slice+1 n/slice의 값이 나누어 떨어지면 n/slice의 몫이 값이 된다. 나누어 떨어지지 않으면 한 판을 더 시키면 ..
짝수의 합 def solution(n): return sum([i for i in range(2, n+1, 2)]) 리스트 컴프리헨션 사용 리스트의 값들을 모두 더해주는 sum 함수 사용 배열의 평균값 def solution(numbers): return sum(numbers)/len(numbers) 리스트의 합을 반환하는 sum 함수 사용 리스트의 길이를 반환하는 len 함수 사용 피자 나눠 먹기(1) def solution(n): return n//7+1 if n%7 else n//7 나는 코드 그대로 생각해서 이렇게 풀었는데 n을 7로 나눠서 0이면 n//7을 하고 나머지가 있으면 n//7+1로 계산하여 리턴함 def solution(n): return (n - 1) // 7 + 1 다른 풀이에 수..
짝수는 싫어요 풀이 def solution(n): return [x for x in range(1,n+1,2)] 리스트 컴프리헨션 사용 나머지 구하기 풀이 def solution(num1, num2): return divmod(num1, num2)[1] # return num1%num2 처음에 %연산자를 사용해 나머지를 구했다. 다른 풀이를 보니 divmod 함수를 사용했다. x = divmod(10, 3) print(x) # (3, 1) divmod 함수는 나머지와 몫을 한 번에 구해 튜플을 리턴한다. 두 번째 인자에 0을 넣으면 에러를 반환한다. (0으로 나눌 수 없으므로) 작은 수에서는 //와 %연산자를 사용하는 것이 빠르고 큰 수를 대할때는 divmod 함수를 사용하는 것이 빠르다. 중앙값 구하기..
진짜.. 코딩을 다 까먹었다는 것에 현타가 와서 다시 코딩을 좀 잡아보려고 합니다. 지금 짤 수 있는 코드라고는 테라폼 코드밖에 없길래.. 프로그래머스 0레벨 풀면서 파이썬 문법 위주로 잡아보려고 합니다. 마침 4문제씩 25일간 푸는 챌린지가 있길래 도전 해볼게요. 파이팅. 문자열 돌리기 풀이 str = input() for i in str: print(i) 다른 풀이 print('\n'.join(input())) join 함수를 이용해서 '\n'을 리스트 사이에 하나씩 넣어준다. 두 수의 나눗셈 def solution(num1, num2): return int(num1 / num2 * 1000) 함수화 된 코드는 굳이 변수에 담지 않더라도 return 값으로 주면, 차후에 x = solution(som..
· 개발
github 토큰 인증을 사용하려니 push할 때마다 토큰을 알려달라고 해서 SSH 접속 방식을 찾았다. hh@DESKTOP-4UIU15G:~$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/hh/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/hh/.ssh/id_rsa Your public key has been saved in /home/hh/.ssh/id_rsa.pub The key ..
· 개발
Node.js 설치 https://nodejs.org/ko Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org 안정화버전으로 다운받았다. 다 Next 해서 설치 Finish 하고 cmd에서 node가 동작하는지 확인한다. Node.js 실행 방법 두 가지 REPL Read: Read User Input Eval: Evaluate User Input Print: Print Output(Result) Loop: Wait for new Input REPL 방식을 사용하면 코드가 파일로 저장되지 않고 한 줄씩 작성한다. 따로 저장되지 않기 때문에 시험용으로 사용하기에 좋다. 파일 실행 코드를 미리 작..
su-mmer
'개발' 카테고리의 글 목록