전체 글

제가 미처 확인하지 못한 부분이 있다면 알려주시면 감사하겠습니다.
숨어있는 숫자의 덧셈(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..
과제 내용 1. src/ 디렉토리 밑에 commands로 시작하는 다음과 같은 파일들이 있습니다. src/commands.h src/commands.c src/commands.def 2. Redis에 echo{영어이름} command를 추가해보세요. 영어이름은 영어대소문자와 숫자로만 만들어주시면 됩니다. 실제 함수만 추가가 아니라, 함수 구현이 추가되어야 합니다. 1차적으로는 echoCommand를 찾아서 함수명만 만들어주시면 됩니다. commands.def 에 추가할 함수를 echoCommand를 참고해서 추가하고, server.c 에도 echoCommand를 참고해서 추가하면 됩니다. 수행 내용 1. 파일 확인 commands.def echo 명령을 찾아보았습니다. 여러 값 들과 함께 있습니다. se..
수행환경 macOS(m2) 수행 내용 1. make 2. make test 3. make install 관리자 계정에서 하는 것이 좋습니다. redis-server, redis-benchmark, redis-cli 명령을 사용할 수 있습니다. pkg-config를 찾을 수 없다고 하여 brew install pkg-config 명령으로 설치해주었습니다. 4. redis 서버 실행 redis-server 명령으로 레디스 서버를 실행 시킵니다. 5. redis cli 실행 redis server가 실행되고 있을 때 새 창을 열어 redis-cli 명령으로 레디스 cli를 실행시킵니다. 간단한 명령어로 cli와 redis가 제대로 동작하는지 확인합니다.
해당 글에서는 깃에 대한 개념은 다루지 않고 명령어만 다룹니다. 1. clone Git 저장소를 복사하고 싶을 때 사용합니다. 프로젝트의 히스토리를 전부 받아옵니다. git clone [url] git clone [] [--] [] clone 명령은 기본적으로 저장소의 main 브랜치를 클론합니다. clone하여 저장소가 로컬에 복제되었습니다. 디렉토리의 이름은 기본적으로 저장소의 이름과 동일하게 설정됩니다. 디렉토리 명 변경하기 저장소 뒤에 디렉토리 명을 붙여주면 됩니다. 2. branch 새 브랜치를 생성합니다. 옵션과 함께 사용하여 브랜치를 관리합니다. git branch # 로컬 저장소의 모든 브랜치 확인 git branch [브랜치명] # 새 브랜치 생성 git branch -a # 로컬과 원격..
su-mmer
Summary Of Summer