본문 바로가기

분류 전체보기

(103)
[TIL 2024. 03. 08] 오늘 한 일 오늘의 코드카타 10문제 오후 알고리즘 세션 알고리즘 문제 풀기: N과 M 오늘의 리뷰 1. 스택 데이터를 쌓아올린 형태의 자료구조 => 이러한 자료구조 때문에_ 아리아드네의 실, 뒤로가기_식으로 활용함 LIFO(LAST IN FIRST OUT) pop은 peek은 구분됨. pop은 가장 위의 연산을 삭제하고 반환하는 연산이고, peek는 가장 위에 있는 요소를 조회하는 연산임. 즉, pop의 본질은 '삭제'이고, 삭제 후 반환된 것을 우리가 사용할 뿐임. 가장 위에서 연산이 이루어지는 부분이 'top'임. 파이썬에서는 리스트가 스택의 일종임. 그래서 우리가 파이썬에서 pop, push같은 연산을 사용할 수 있는 것임. => pop, push와 같은 연산들은 본래 stack의 연산임. *자료..
[TIL 2024. 03. 07] 오늘 한 일 오늘의 코드카타 10문제 오후 알고리즘 세션 swea 문제 풀이 TIL 작성 오늘의 리뷰 1. 패턴 마디의 길이 리스트 슬라이싱 => 리스트 슬라이싱은 순서가 있는(시퀀스형) 자료에 사용가능함 =>(ex.) 리스트, 배열, 문자열, 튜플 등 (cf. 딕셔너리는 불가) 다중리스트에서는 행과 열. ex. list[i][j] (i가 행, j가 열_이중for문) 이 문제에서는 문자열 슬라이스. 슬라이스 길이가 같도록 잘 조정해야 함. (cf. a-b+1) 2. 문자의 거울상 슬라이스(slice) 표기 in python [::-1]은 step이 -1이란 의미이므로, 결과적으로 역순으 배열 및 리스트를 출력함. a[start:stop] :start에서 stop-1까지의 요소 a[start:] : sta..
[TIL 2024. 03. 06] 오늘 한 일 오늘의 코드카타 10문제 알고리즘 세션 알고리즘 세션 복습 TIL 작성 오늘의 리뷰 1. 알고리즘 세션 (1) desmos: 빅오를 그래프로 볼 수 있음 (2) 가독성이 좋은 코드를 작성하는 꿀팁! n = 0 n: int = 0 n: str = 0 #위 3개의 결과는 모두 동일 #알기 쉬운 코드 작성을 위해_2번째 추천 #심지어 3번째처럼 해도 파이썬에서는 오류가 나지 않음(파이썬은 관대함!!) #리스트 array: list(int) = list() (3) set() set()는 중복제거 과정에서 자동정렬함. 즉, 알고리즘 문제를 선형탐색 등으로 풀어서 시간 초과가 난 경우에 -> set을 씌우면 정렬이 되어 답으로 통과되는 경우도 있음. (4) sort와 sorted 비교 sort는 배열 ..
[TIL 2024. 03. 05] 오늘 한 일 오늘의 코드카타 10문제 + 팀원들과 코드 리뷰 => 노션 아카이빙, 구글폼, 일일커밋 알고리즘 세션 세션 관련 알고리즘 문제_모의고사, 숫자야구(진행중) TIL 작성 오늘의 리뷰 1. #모의고사(프로그래머스) def solution(answers): answer = [] val = [0,0,0] person1 = [1,2,3,4,5] person2 = [2,1,2,3,2,4,2,5] person3 = [3,3,1,1,2,2,4,4,5,5] for i in range(len(answers)): if person1[i%len(person1)] == answers[i]: #나머지 이용 val[0] += 1 if person2[i%len(person2)] == answers[i]: #elif가 아..
[TIL 2024. 03. 04] 오늘 한 일 팀 노션 작성 알고리즘 10문제(프로그래머스) 알고리즘 세션 AI 스쿼드 3 Github 일일커밋 시작 TIL 작성 오늘의 리뷰 1. range(len()) 복습 a_list = [1, 2, 3, 5, 6, 7, 4, 7] for i in range(len(a_list)): # 리스트 a_list의 길이를 범위로 설정하여 반복 print(f'index: {i} , value: {a_list[i]}') b = 'watermelon' for i in range(len(b)): # 문자열 watermelon의 길이를 범위로 설정하여 반복 print(i, b[i]) 2. 두수의 합, 차, 곱, 나눗셈 (1) lambda식 함수_본질적으로 반복을 편하게 하기 위해 선언하는 것. 하지만 간단한 식이나 ..
[TIL 2024. 02. 29] 오늘 한 일 개인과제 마무리 및 제출 튜터님 해설 세션 오후 특강 TIL 작성 오늘의 리뷰 1. pass/continue/break (1) pass 결론은 pass는 반복문에서는 아무런 영향이 없음 특정한 경우에 주로 사용됨 => 1. 조건문에 넣어줄 조건이 없을 때 2. class 선언시에 초기 조건을 아직 주지 못했을 때 but, 코드 동작확인을 위해 실행시에 오류를 방지하기 위해서 사용함 (2) continue 위의 코드에서는 짝수인 경우(=조건문의 조건 성립시)에 continue가 실행됨 그 결과, 홀수는 모두 바로 print되지만, 짝수는 continue까지만 실행되고 다시 for문의 처음으로 돌아감(=>다음 숫자로) (3) break 위의 코드에서 1부터 반복하다가 짝수인 2가 if문의 조건을..
[TIL 2024. 02. 28] 오늘 한 일 개인과제2 오류 수정(피드백, 발견) 팀원들 과제 서로 피드백해주기 오후 git 특강 웹개발 강의 복습 readme 작성 TIL 작성 오늘의 리뷰 1. range() range() 자체가 iterable한 객체를 생성함. 그래서 for문의 iterable 자리에 range()가 올 수 있는 것임! range(n) : 0이상 n미만인 수를 차례로 나열 range(a,b): a이상 b미만인 수를 차례로 나열 range(a,b,step): a이상 b미만인 수를 step간격으로 나열 2. 개인과제2 오류 수정 문제상황: 게임의 재시작을 묻는 질문에 'y'로 대답하고, 게임을 재시작한 경우에도 computer_pick의 선택이 고정되는 문제를 발견함. 즉, 게임을 재시작해도 이전 게임의 compute..
[TIL 2024. 02. 27] 오늘 한 일 개인과제4 승무패 기능 출력 개인과제1 최고시도 횟수 경원튜터님 미니세션 TIL 작성 오늘의 리뷰 1. 미니세션 while문에서의 코드 흐름 즉, while문 내에서는 break가 없는 한, 벗어날 수 없음. 따라서 위의 while문 내의 elif, else문의 조건이 만족되어 각자 아래의 코드가 실현되고 나면, 다시 9행으로 돌아감. 하지만 break가 있는 if문은 그 조건이 충족되어 코드가 실현되면 완전히 while문 자체를 탈출함. while문에서의 break, continue 함수(_순서,절차 지향) => 함수는 많으면 많을수록 좋다. component로써, 세분화된 기능들을 함수로 선언해놓으면 오류 수정에 유리함. 즉, 오류 발생시 해당 함수 부분만 고쳐주면 되기 때문. 정리하자면..