TIL91 TIL230329 회고... 알고리즘... 시간 절약도 공간 절약도를 간단히 배웠는데 시간 절약도는 컴퓨터가 이 알고리즘 함수 등을 쓰면서 얼마나 시간이 오래 걸리는지 숫자로 포기한 거고... 공간 절약도는 컴퓨터의 메모리에 얼마나 차지한 것인지 말하는 것이다... 그런데 공간 절약은 요즘 컴퓨터에 의미가 없다고 하셨고... 시간 절약은 for문이 제일 오래 걸린다고 하셨다.. for문을 중첩하면 중첩할 수록 제곱으로 시간이 늘어난다고... 일주일 정도 4시간 정도밖에 못 잤더니 정신이 하나도 없다... 개인 프로젝트... damage = max(damage-physical_defense, 1) 데미지-방어력이 1미만으로 떨어지면 1데미지만 입히는 식을 구현하였다. 추후 다른 게임이나 로직을 구현할때 x = max(x, 0) 을 써.. python 2023. 3. 29. TIL230328 개인 프로젝트-2 디버깅 및 회고... https://github.com/beo202202/MapleSurvivors 1) 글자에 색 입히는 방법 >>> 글자 양 옆에 아스키 코드를 해주면된다. 색변경아스키코드 + 글자 + 리셋해줄 아스키코드 리셋을 안해주면 다음 글에서 색 고대로 나오기 때문에 오류가 발생할 수 있다. 꼭 필요한 일이다. 예) print("\033[31m" + "test" + "\033[0m") 빨간색과 리셋코드 이다. 2) 함수명을 파스칼 방식으로 썼는데 파이썬에서는 소문자로 했어야 했다. 그래서 F2를 눌러 한 꺼번에 쉽게 해결이 되었다. https://beolog.tistory.com/13 기타/디버깅 및 회고 2023. 3. 28. TIL230327 개인 프로젝트-1 https://github.com/beo202202/MapleSurvivors 회고이자 디버깅... 1문제: randint는 range()에 소수점이 들어가면 안된다. 1해결: round() 함수를 해줌으로써 오류를 없앴다. 2문제: for i in attack_count: 2해결: attack_count 즉, 공격횟수(int)를 쓸 때 range 를 안 쓰고 for문에 넣어서 오류가 생겼다. for i in range(attack_count). 몬스터가 쓰러졌는데도 계속 루프를 돈다.... >> 논리 오류 3해결 battle algorithm 논리 오류 4해결 pass > break 로 while 문 하나 나오기 mp/max_mp 상태도 표현하기 몬스터에 mp/max_mp 표현 삭제(나중에 구현 가능성.. 기타/디버깅 및 회고 2023. 3. 28. TIL230324 Python 자주 사용되는 모듈 및 패턴 type() 자료형 확인 더보기 a = 1 result = type(a) print(result)# split(), split(separator, maxsplit) 문자열을 나누고, string을 list로 변환 더보기 a = "Python is easy" result = a.split()# 스페이스, 탭, 엔터 등을 기준으로 문자열을 리스트화 print(result)# ['Python', 'is', 'easy'] result = a.split(' ', -1) # 스페이스 기준으로 문자열을 횟수 제한 없이 나누고 리스트에 추가 print(result)# ['Python is easy'] result = a.split(' ', 0) # 스페이스 기준으로 문자열을 나누지 않고 리스트에 추가 print(res.. python 2023. 3. 24. TIL230324 배열의 평균값 https://school.programmers.co.kr/learn/courses/30/lessons/120817 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나는 단순 sum과 len으로 하는 것 보다 더 좋은 게 없을까 하다가 python 3.4부터 지원하는 수학 통계 함수를 써 보았다. mean()이 데이터의 산술 평균이라면 median() 데이터의 중앙값, median_low()이 데이터의 낮은 중앙값, median_high()이 데이터의 높은 중앙값 등으로 여러 통계 함수가 유용하게 들어가 있다. 항상 docs를 보는 것이 중요하다고 생각된다.. algorithm 2023. 3. 24. TIL230324 배열 원소의 길이 https://school.programmers.co.kr/learn/courses/30/lessons/120854 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 한 것은 이거지만... def solution(strlist): for a in strlist: answer.append(len(a)) return answer 다른 분들은 이렇게... 한 줄로... def solution(strlist): return [len(str) for str in strlist] def solution(strlist): return list(map(len,strl.. python 2023. 3. 24. TIL230323 배열의 유사도 https://school.programmers.co.kr/learn/courses/30/lessons/120903 두 배열이 얼마나 유사한지 확인해보려고 합니다. 문자열 배열 s1과 s2가 주어질 때 같은 원소의 개수를 return하도록 solution 함수를 완성해주세요. 제한사항 1 algorithm 2023. 3. 23. TIL230323 아이스 아메리카노 머쓱이는 추운 날에도 아이스 아메리카노만 마십니다. 아이스 아메리카노는 한 잔에 5,500원 입니다. 머쓱이가 가지고 있는 돈(money)가 매개변수로 주어질 때, 머쓱이가 최대로 마실 수 있는 아메리카노의 잔 수와 남는 돈을 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요. https://school.programmers.co.kr/learn/courses/30/lessons/120819?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 푼 건 이렇게 긴 로직인데... def solution(.. algorithm 2023. 3. 23. TIL230323 주사위 세개 https://www.acmicpc.net/problem/2480 2480번: 주사위 세개 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개 www.acmicpc.net 첫 시도일 때 복합적으로 만들어 버렸다..ㅠ a, b, c = map(int, input().split()) d = [a, b, c] sum = 0 if a == b == c: sum = 10000 + a * 1000 elif a == b or b == c or a == c: if a == b: sum = 1000 + a * 100 elif b == c: sum = 1000 + b .. algorithm 2023. 3. 23. TIL230322 Python Coding Convention Coding Convention 프로그램 코드를 작성할 때 우리끼리의 약속같은 개념이다. 함수와 함수 사이엔 2줄을 띄운다 등의 약속 왜 통일을 해야하나? 혼자 프로그래밍을 할 경우 이게 어떻게 돌아가는 지 이해하고 쓸 수 있겠지만 같이 일하는 동료나 리뷰어, 미래의 내가 쉽게 이해하고 쓸 수 있도록 해야한다. 예를들어, '더하기'라는 함수를 만들었는데 이 함수 이름이 'minus' 나 'a'라고 해보자. 프로그램이 당장은 올바르게 작동은 하겠지만 수정하거나 확인 할 때 추론하면서 이해하는게 피곤하고 짜증나는 일이다. 이해하기 쉽게 'add'라고 쓰는 것이다. 이런 습관을 들여야 더 나은 품질의 코드를 작성하는 데에도 도움이 되고 가독성 좋은 훌륭한 프로그래머라고 볼 수 있다. 프로젝트마다 코딩 컨벤션이.. python 2023. 3. 22. TIL230321 Python 기타1 들여쓰기 취소 Shift + Tab C와 자바와 달리 파이썬은 간단하게 되어 있다. 변수 선언을 일일이 안해도 된다. 변환 int(변수명), string(변수명) f 문자열 포매팅 (f-string) Python 3.6 부터 지원 하기에 3.6 미만에서는 쓰지 않도록 주의한다. name = '김길동' age = 19 print(name + '의 나이는' + age + '이다.') print(f'{name}의 나이는 {age}이다.') # 김길동의 나이는 19이다. # 딕셔너리 활용 d = {'name': '김길동', 'age': 20} print(f'{d["name"]}의 나이는 {d["age"]}이다.') # 김길동의 나이는 19이다. # 수식의 활용 print(f'{name}은 내년이면 {age+1}.. python 2023. 3. 21. TIL230321 Python 자료구조 자료구조 리스트 리스트명 = [value1, balue2 ...] list.append(x) 리스트의 끝에 항목을 더합니다. a[len(a):] = [x] 와 동등합니다. list.extend(iterable) 리스트의 끝에 이터러블의 모든 항목을 덧붙여서 확장합니다. a[len(a):] = iterable 와 동등합니다. list.insert(i, x) 주어진 위치에 항목을 삽입합니다. 첫 번째 인자는 삽입되는 요소가 갖게 될 인덱스입니다. 그래서 a.insert(0, x) 는 리스트의 처음에 삽입하고, a.insert(len(a), x) 는 a.append(x) 와 동등합니다. list.remove(x) 리스트에서 값이 x 와 같은 첫 번째 항목을 삭제합니다. 그런 항목이 없으면 ValueError를.. python 2023. 3. 21. 이전 1 ··· 4 5 6 7 8 다음