[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 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 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 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를 해준 이유는 기본적으로 리스트를 오름차순으로 정렬해주기 때문에..
[DAY 5] 프로그래머스 LV1. 자연수 뒤집어 배열로 만들기
·
Algorithm/항해일지 TIL
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12932 1. 코드 풀이 자연수를 입력받으면 문자열로 면환해야 한다. (String으로 변환) 배열로 입력을 받으면 하나하나 거꾸로 리스트로 저장해야 한다. 문자열을 거꾸로 반복하여 각 자리의 숫자를 정수로 변환하여 리스트에 추가 2. 코드 실행 def solution(n): num=str(n) reversed_num=[] for number in reversed(num): reversed_num.append(int(number)) return reversed_num 3. 결과
[DAY 4] 프로그래머스 LV1. 콜라츠 추측
·
Algorithm/항해일지 TIL
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12943 1. 코드 풀이 입력된 수가 짝수라면 2로 나눈다. 입력된 수가 홀수라면 3을 곱하고 1을 더한다 결과로 나온 수에 같은 작업을 1이 될 때까지 반복한다 단 주어진 수가 1인 경우에는 0을, 작업을 500번 반복할 때까지 1이 되지 않으면 -1 반환 2. 코드 실행 # 처음 생각 if num % 2 == 0: num = num // 2 else: num = num * 3 + 1 홀수와 짝수 조건식 세우는건 거의 3초만에 했는데 나머지 제약을 어디에 넣어야할지 고민을 좀 했던 것 같다. (사실 엄청 간단한데도..ㅠ) ㅠㅠ 공부 열심히 해야겠다...ㅠ def solution(num): co..
[DAY 3] 프로그래머스 Lv1. 숫자 문자열과 영단어
·
Algorithm/항해일지 TIL
문제 https://school.programmers.co.kr/learn/courses/30/lessons/81301 1. 코드 풀이 일부 자릿수가 영단어=> 즉 영단어+ 숫자 합쳐진 문자열이 주어짐 이 문자열에서 합쳐진 문자열을 숫자로 이루어진 형태로 출력해줘야 함 2. 코드 실행 창피하게도.. 정말 여기서 아무것도 못하겠어서..ㅠ 저 고민의 흔적!!! ㅠㅠ //첫번째 시도 def solution(s): eng={'zero':0,'one':1,'two':2,'three':3,'four':4,'five':5,'six':6,'seven':7,'eight':8,'nine':9} for key in eng: s=s.replace(key,eng[key]) return int(s) 처음 생각했던 건 이거였다. ..
하이롱하이롱
'항해일지TIL' 태그의 글 목록