250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
Tags
- time()
- cte
- gitignore
- vscode
- WIL
- 알고리즘
- Display
- target
- 프로그래머스
- sql
- python
- 내일배움캠프
- iterable
- with\
- AI 5기
- 가상환경
- position
- venv
- 함수실행시간
- itertools
- googleappscript
- AI
- Iterator
- googlesheet
- 함수성능평가
- Level1
- A태그
- 우선순위
- onClick
- git #github #내일배움캠프
Archives
- Today
- Total
05의 개발 계발
[페어프로그래밍] 230421 인덱스바꾸기 + 배열의 유사도 | 컴프리헨션, python 다중할당 본문
내일배움캠프 AI/페어프로그래밍
[페어프로그래밍] 230421 인덱스바꾸기 + 배열의 유사도 | 컴프리헨션, python 다중할당
생각하는 코댕이 2023. 4. 21. 16:05728x90
페어프로그래밍 결과 코드
# 인덱스 바꾸기
# 페어프로그래밍으로 제작한 코드
# 페어프로그래밍 1번 - 리스트컴프리헨션사용
def solution(my_string, num1, num2):
#문자열을 리스트로 변환한다.
list_=[s for s in my_string]
#리스트에서 num1과 num2 요소를 분리해낸다.
#두 요소를 교환해준다.
list_[num1],list_[num2] =list_[num2],list_[num1] # 파이썬의 특징! 변수의 값을 서로 바꿀 때 사용!
#분리되었던 list를 다시 str으로 바꿔준다. → join 사용
answer = ''.join(list_)
return answer
# 페어프로그래밍 2번 - list클래스사용
def solution(my_string, num1, num2):
#문자열을 리스트로 변환한다.
list_ = list(my_string)
#리스트에서 num1과 num2 요소를 분리해낸다.
#두 요소를 교환해준다.
list_[num1],list_[num2] =list_[num2],list_[num1] # 파이썬의 특징! 변수의 값을 서로 바꿀 때 사용!
#분리되었던 list를 다시 str으로 바꿔준다. → join 사용
answer = ''.join(list_)
return answer
# 배열의 유사도
# 페어프로그래밍으로 제작한 코드
# 페어프로그래밍 1번 - for문과 if문 사용
def solution(s1, s2):
#두 배열에서 일치하는 원소를 판별한다.
#두 배열에서 일치하는 원소를 카운트한다.
count=0
for s_1 in s1: #원소로 분리
if s_1 in s2: #원소가 겹치는지 판다
count += 1 #원소가 겹칠경우 카운트하기
answer = count
return answer
# 페어프로그래밍 1번의 리팩토링 - 컴프리헨션
def solution(s1, s2):
return sum(1 if s_1 in s2 else 0 for s_1 in s1)
#페어프로그래밍 2번 - set(집합)의 교집합을 활용한 풀이
def solution(s1, s2):
return len(set(s1)&set(s2))
시사점 or 새로이 알게된 점
# 다중 할당(multiple assignment)
파이썬에서 두 변수의 값을 서로 교환할 때 유용하게 사용할 수 있는데, 아래와 같은 형태로 사용가능하다.
a, b = b, a
위의 코드는 a와 b라는 두 변수의 값을 서로 교환하는 코드로, 임시 변수 없이 두 변수의 값을 교환할 수 있다.
이는 파이썬에서만 가능한 특징으로, 코드를 더 간결하고 가독성있게 작성할 수 있도록 도와준다.
위는 파이썬의 "인터프리터식, 객체지향적, 동적 타이핑 대화형 언어" 라는 특징 중 "인터프리터" 에 의한 특징이다.
인터프리터는 실행 시마다 소스 코드를 한 줄씩 기계어로 번역하는 방식을 말한다.
그렇기에 다중할당 a, b = b, a 는 한 줄에서 작성된 것으로, 파이썬이 번역할 때에 동시에 할당을 하게 되어 가능한 형태가 된 것이다.
728x90
'내일배움캠프 AI > 페어프로그래밍' 카테고리의 다른 글
[페어프로그래밍] 230425 캐릭터의 좌표 | if for max min int / abs dict (0) | 2023.04.25 |
---|---|
[페어프로그래밍] 230424 안전지대 | set for if len list range (0) | 2023.04.24 |
[페어프로그래밍] 230420 하샤드 수 | for sum if (코루틴적용) (0) | 2023.04.20 |
[페어프로그래밍] 230419 문자열 정렬하기(1) | for try-except int (4) | 2023.04.19 |
[페어프로그래밍] 230418 콜라츠 추측 | while if 삼항연산자 (0) | 2023.04.18 |