일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 파이썬 slice
- 파이썬 replace
- 파이썬 enumerate
- useEffect
- 파이썬 for in
- Next 팀 프로젝트
- 타입스크립트 리액트
- 내배캠 프로젝트
- REACT
- 리액트 공식 문서
- 리액트
- 파이썬 딕셔너리
- 프로그래머스
- typeScript
- 리액트 훅
- JavaScript
- useState
- 내일배움캠프 프로젝트
- 자바스크립트
- 내일배움캠프
- 타입스크립트
- 내일배움캠프 최종 프로젝트
- 리액트 프로젝트
- 파이썬 반복문
- 파이썬 for
- 코딩테스트
- React Hooks
- 리액트 공식문서
- tanstack query
- 한글 공부 사이트
- Today
- Total
목록전체 글 (306)
sohyeon kim
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/yqDPm/btsFs3iFpTm/TQhM5xKZHNGQ9vLz3jzesK/img.png)
💡 타입에 이름을 붙여보자! const cart: string[] = ['c001', 'c002', 'c003']; // cart 에 타입을 정의 interface User { username: string; email: string; cart: string[]; // User 객체에 cart 를 넣어주려고 타입을 또 정의함 } const user: User = { username: 'aoto', email: 'aotoyae@gmail.com', cart, }; 위와 같이 똑같이 cart 타입을 두 번 적어주면 (타입이 바꼈을 때) 수정하기 어려운, 유지 보수가 힘든 코드가 된다. 이럴 때 별칭으로 타입에 이름을 붙여준다. type Cart = string[]; // ** 여기 const cart: Ca..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/oFckV/btsFzfITj31/tfONxMjz9rdsIDoMe78ddK/img.png)
💡 리터럴 타입에 대해 알아보자. 리터럴 : 글자 그대로 타입스크립트에선 let, const 에 따라 같은 문자열이더라도 타입이 다르게 지정된다. const 는 바뀌지 않는 값이기 때문에 값이 그대로 타입으로 지정된다. ➡️ 이런걸 리터럴타입이라 한다! 마찬가지로 숫자도 리터럴 타입으로 지정될 수 있다. 숫자 리터럴 타입은 숫자형 타입에, 문자 리터럴 타입은 문자형 타입에 포합된다. let small = 95; const large = 100; function printSize(size: number){ // large 도 number 타입이니 console.log(`${size} 사이즈입니다.`); } printSize(small) // 95 사이즈입니다. printSize(large) // 100 사..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/yrWIE/btsFoeMjLy0/pu04GxSUgq83AOYHpDIJb0/img.png)
2024.03.04 - [TypeScript] - [TS] enum 열거형 타입 [TS] enum 열거형 타입 💡enum 타입에 대해 알아보자. 상품 사이즈처럼 값의 종류를 나열할 수 있는 경우에 쓸 수 있는 타입 let product: { id: string; name: string; price: number; membersOnly?: boolean; sizes: string[]; } = { id: 'c001', name: ' aotoyae.tistory.com 💡 interface 에 대해 알아보자. 같은 객체 타입을 계속 만들어 낼때, 기준이 되는 타입을 만들어 사용할 수 있다! const product1: { id: string; name: string; price: number; membersO..
💡enum 타입에 대해 알아보자. 상품 사이즈처럼 값의 종류를 나열할 수 있는 경우에 쓸 수 있는 타입 let product: { id: string; name: string; price: number; membersOnly?: boolean; sizes: string[]; } = { id: 'c001', name: '주전자', price: 129000, sizes: ['M', 'L'], }; 위와 같이 객체 타입을 정해줬을 때 사이즈는 항상 S, M, L .. 정도만 있을 텐데 string 문자열 타입으로 정해준 건 너무 광범위한 느낌이 든다. 객체의 범위를 정해주는 enum 타입으로 바꿔보자! enum Size { // 요런 식으로 값을 나열해 주고 S, M, L, XL, } let product: ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/F29TK/btsFn9RELTu/I5hcjXXxi5GUdkhpuhPevK/img.png)
💡 any 타입에 대해 알아보자. let product: any = { // 타입을 any 로 지정하면 js 파일과 같이 타입 검사를 하지 않는다. id: 'c001', name: '주전자', price: 129000, membersOnly: true, sizes: ['M', 'L', 'XL'], }; console.log(product.reviews[2]); // 프로덕트에 리뷰라는 프로퍼티는 없지만 에러가 뜨지 않는다. 😲 TS 에서 타입 검사를 없애주는 any 는 왜 필요한가 ? 어쩔 수 없이 any 로 바꿔줘야하는 경우가 있기 때문 JSON 문자열을 파싱한다고 할 때, JSON.parse 함수에선 어떤 문자열이 어떤 객체 타입으로 될지 알 수 없어서 그 결과값이 any 타입이다! 이럴 때 any ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/JP5rK/btsFpSaZxZK/7t3nLkJGYgDwmKxODbinkk/img.png)
💡 배열, 튜플을 작성해 보자. const cart: string[] = [];const carts: string[][] = [['c001', 'c002'], ['c003']]; 배열의 요소, 배열의 배열 요소는 이런 식으로 타입을 정해둘 수 있다. let mySize: number[] = [167, 28];mySize = [167, 28, 255]; // 늘려도mySize = [255]; // 줄여도mySize = []; // 비워놔도 에러가 없다. 😲 배열 타입은 크기가 정해져 있지 않으니개수를 명확히 하고 싶다면 튜플 타입을 사용하자! ⬇️튜플은 요소 각각의 타입을 정할 수 있다. = 순서를 정할 수 있다.let mySize: [number, number] = [167, 28];mySize = ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dWBSIK/btsFm7T1EHU/iFtDKvIKIcWoJFjEAht3qk/img.png)
💡 타입스크립트를 써봅시다. npm init or npm init -y ➡️ package.json 설치 npm install --save-dev typescript ➡️ 타입스크립트 설치 ❗️ 처음에만 ❗️ 🚨 타입스크립트는 개발할 때만 사용하는것이니 🚨 --save-dev 옵션으로 설치하는 거 잊지말기 "author": "", "license": "ISC", "devDependencies": { // 잘 설치되면 요렇게 추가된다. "typescript": "^5.3.3" } 이제 타입스크립트를 사용할 때 필요한 설정 파일을 만들어보자! npx tsc --init npx : Node 모듈을 실행하는 명령어 tsc : 타입스크립트에서 제공하는 '타입스크립트 컴파일러'라는 모듈 (타입스크립트 코드 > 자바..
📝 문제 문자열 my_string과 정수 num1, num2가 매개변수로 주어질 때, my_string에서 인덱스 num1과 인덱스 num2에 해당하는 문자를 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요. 🫠 나의 풀이 def solution(my_string, num1, num2): a, b = num1, num2 return ''.join([my_string[:a], my_string[b], my_string[a+1:b], my_string[a], my_string[b+1:]]) 🧞♂️ 다른 사람의 풀이 def solution(my_string, num1, num2): A = list(my_string) A[num1], A[num2] = A[num2], A[num1] ret..
📝 문제 정수 배열 arr가 주어집니다. 이때 arr의 원소는 1 또는 0입니다. 정수 idx가 주어졌을 때, idx보다 크면서 배열의 값이 1인 가장 작은 인덱스를 찾아서 반환하는 solution 함수를 완성해 주세요. 단, 만약 그러한 인덱스가 없다면 -1을 반환합니다. 🫠 나의 풀이 def solution(arr, idx): for i in range(idx, len(arr)): if arr[i] == 1: return i return -1 🧞♂️ 다른 사람의 풀이 def solution(arr, idx): answer = 0 try: # 예외가 발생할 가능성이 있는 코드 answer = arr.index(1, idx) except: # 예외가 발생하면 실행할 코드 answer = -1 retur..
📝 문제 정수 리스트 num_list가 주어집니다. 가장 첫 번째 원소를 1번 원소라고 할 때, 홀수 번째 원소들의 합과 짝수 번째 원소들의 합 중 큰 값을 return 하도록 solution 함수를 완성해주세요. 두 값이 같을 경우 그 값을 return합니다. 🫠 나의 풀이 def solution(num_list): a = 0 b = 0 for i in range(len(num_list)): if i%2 == 1: a += num_list[i] else: b += num_list[i] return max(a, b) 🧞♂️ 다른 사람의 풀이 def solution(num_list): return max(sum(num_list[::2]), sum(num_list[1::2])) 🔗 https://schoo..