[DAY 13] 프로그래머스 가운데 글자 가져오기 / 슬라이싱
·
Algorithm/항해일지 TIL
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12903 1. 코드 설명 두글자 반환하기=> 가운데 앞뒤글자라고 생각하기 글자 수가 짝수와 홀수일때 글자수 나누기 두글자 인덱싱하기 2. 핵심 내용 슬라이싱 : 시퀀스 데이터의 특정 범위를 지정하여 해당 범위에 있는 요소들을 가져올 수 있음 s = "Hello, World!" print(s[0:5]) # "Hello" print(s[7:12]) # "World" print(s[:5]) # "Hello" (start를 생략하면 처음부터 시작) print(s[7:]) # "World!" (stop을 생략하면 끝까지) print(s[::2]) # "Hlo ol!" (step을 2로 지정하여 홀수 인덱..
[DAY 12] 프로그래머스 k번째 수 / 배열 인덱스
·
카테고리 없음
문제 https://school.programmers.co.kr/learn/courses/30/lessons/42748 1. 코드 설명 인덱스는 맨 처음이 0 부터 시작이다 => 이부분을 처리하는 게 조금 헷갈렸다. ㅠㅠ 세개의 인자를 어떻게 처리할 것인가?? 2. 코드 실행 def solution(array, commands): answer = [] for command in commands: i, j, k = command cut = sorted(array[i-1:j]) answer.append(cut[k-1]) return answer 처음에 0부터 시작인데 얘는 1로 인식하니까 +1 이라고 했다가 계속해서 오류가 났다. 내가 잘못 이해한 부분이다.ㅜ 나머지는 다 맞았는데 +1 에서 계속 틀렸던 거..
[DAY 11] 프로그래머스 없는 숫자 더하기
·
Algorithm/항해일지 TIL
문제 https://school.programmers.co.kr/learn/courses/30/lessons/86051 1. 코드 설명 없는 숫자 더하기 = > 정답의 리스트를 주고 그 리스트에 없으면 없는 숫자이므로 빈 리스트에 더해주면 되지 않을까? 2. 코드 실행 // 첫번째 시도 def solution(numbers): total = 0 find = [0,1,2,3,4,5,6,7,8,9] for i in find: if i not in numbers: total += i return total 그런데 생각해보니... 0부터 9까지 이면 굳이 리스트로 만들지 않아도 된다는 게 번뜩 생각났다. -_ - // 두번째 시도 def solution(numbers): total = 0 for i in ran..
[DAY 10] 프로그래머스 평균 구하기 / SUM
·
Algorithm/항해일지 TIL
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12944 1. 코드 설명 평균 구하는 법 = 각 숫자 다 더하기 / 각 숫자 갯수 2. 중요한 개념 ※ SUM --> 리스트나 튜플 처럼 인덱스 내에서 순환, 접근이 가능한 자료형이여야 하고 내부에 숫자로만 이루어져 있어야 한다. --> 결과값: 인자로 들어온 내부의 모든 요소의 합 3. 코드 실행 // 첫번째 시도 def solution(arr): s = 0 for i in arr: s += i total = s / len(arr) return total 처음엔 이렇게 엄청 간단하게 생각했다. 물론 틀린 코드는 아니지만 조금 더 쉬운 코드가 없을까.. 하다가 sum 이 생각났따 ㅠ.ㅠ // 두..
[DAY 9] 프로그래머스 문자열 내 마음대로 정렬하기 / lambda
·
Algorithm/항해일지 TIL
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12915 항해 미들러문제!! ㅎㅎ 1. 코드 설명 인덱스 입력받기 인덱스 별로 오름차순 정렬 2. 코드 실행 def solution(strings, n): return sorted(strings, key=lambda x: (x[n], x)) 3. 중요한 개념 ※ lambda 란?? -> 함수를 간결하게 만들기 위한 익명함수를 만들 때 사용되는 함수 기본적인 구조 ) lambda 매개변수: 표현식 -> 이때 매개변수들은 함수에 전달되는 입력 값이고, 표현식은 해당 변수의 반환값이다. 예를 들어 두 수를 더하는 함수를 람다함수로 표현하면 add = lambda x,y : x+ y 가 된다. -> 변..
[DAY 9] 프로그래머스 LV1. 짝수와 홀수
·
Algorithm/항해일지 TIL
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12937 1. 코드 설명 짝수이면 (0도 포함) even 반환 홀수이면 odd 반환 2. 코드 실행 def solution(num): if num ==0 or num % 2 ==0: return "Even" else: return "Odd" 3. 결과 솔직히...3초만에 풀었다 ㅋㅋㅋ헛..
[DAY 8] 프로그래머스 LV1. 하샤드 수
·
Algorithm/항해일지 TIL
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12947 1. 코드 설명 각 자릿수의 합 더하기 딱 떨어진다 = 나머지가 0이다. 2. 코드 실행 2-1. 각 자릿수의 합 더하기 코드 -> 각 자릿수를 하나씩 꺼내기 위해 x를 문자열로 바꾸고, 자릿수의 합을 하나씩 더한 아이들을 number에 담는다. 이때 문자열로 받은 각 자리를 더하기 위해 int 정수형으로 바꿔주었다. for i in str(x): # 각 자릿수를 꺼내기 위해 입력받은 수를 한자리씩 문자열로 바꿔줌 number+=int(i) #number에 각 자릿수의 합을 더함 #그런데 이때 문자열로 더해주면 안되니까 다시 정수형으로 바꿔줌 2-2. 전체코드 def solution(x..
[DAY 7] 프로그래머스 LV1. 행렬의 덧셈
·
Algorithm/항해일지 TIL
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12950 1. 코드 설명 반복문을 행렬의 모든 행에 대해 수행해야함 행렬의 행의 개수를 확인하고 각 원소의 값을 더해주는 반복문 2. 코드 실행 // 첫번째 시도 def solution(arr1, arr2): answer=[] for i in range(len(arr1)): for j in range(len(arr1[0])): row= [arr1[i][j] + arr2[i][j]] answer.append(row) return answer > 이러한 결과값이 나왔다. ㅠㅠ 그러니까 내가 각 원소의 값은 더할 수 있는데 한 개의 리스트로 값을 반환하지 못하니까 행렬로 인식하지 못하고 그냥 원소끼리..
[DAY 6] 프로그래머스 LV1. 음양 더하기
·
Algorithm/항해일지 TIL
문제 https://school.programmers.co.kr/learn/courses/30/lessons/76501 1. 코드 풀이 배열 두개라는 거에 쫄 필요가 없다 ㅠ 그냥 TRUE면 양수, FALSE는 음수라는 것을 생각하면 되고 각자 계속 더해주기만 하면 된다. 2. 코드 실행 def solution(absolutes, signs): answer = 0 for i in range(len(absolutes)): if signs[i] == True: answer += absolutes[i] else: answer -= absolutes[i] return answer 더보기 *len(absolute)에 대하여 * 처음에 len 을 하지 못해서 계속해서 코드 오류가 났다 ㅠㅠ 그래서 이 부분은 꼭 챙..
[DAY 5] 프로그래머스 LV1. 문자열 내림차순으로 배치하기
·
Algorithm/항해일지 TIL
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12917 1. 코드 풀이 입력받은 값을 정렬하기 정렬할 때 내림차순으로 정렬하기 정렬을 했으면 다시 합쳐서 하나의 문자열로 반환하기 더보기 리스트 정렬 - sort * list.sort() 메서드는 list 객체 자체를 정렬해주는 함수 리스트에만 사용이 가능하다 기본적으로는 리스트를 오름차순으로 정렬해준다. 2. 코드 실행 def solution(s): listed = list(s) listed.sort(reverse=True) answer = ''.join(listed) return answer >> 여기서 reverse=True를 해준 이유는 기본적으로 리스트를 오름차순으로 정렬해주기 때문에..
하이롱하이롱
'코딩스터디' 태그의 글 목록