전체 글 217

LV.0 : ["최빈값 구하기"]

입출력의 예시처럼 나오는 방법이 정말 다양하게 있는데, 그것을 어떻게 처리하면 좋을지 고민했다. 때마침, 수업시간에 배운 함수들 중 set 함수가 생각이 났지만 어떻게 이용하면 좋을까? 그 방법은 개수가 적은 숫자들을 제거하는 것이다. 하나씩 제거해나가면 결국에는 최빈값만 남을 것이라고 나름의 역발상을 해보았다. 아래의 주석에 설명글을 써놓았기 때문에 주석을 참고하면서 보시면 이해가 빠를 것이다. def solution(array): # 시작할 때 array는 0이 될 수 없음을 이용 while len(array) != 0: # set를 이용함 for i, a in enumerate(set(array)): # 배열에 있는 a들을 하나씩 소거 # [1, 1, 2, 3, 3, 3, 4] >> [1, 3, 3..

cording test 2023.03.29

미니 프로젝트3 : 파이썬으로 게임 만들어보기(2)

어제에 이어 오늘도 진행했는데, 사실 큰 수정을 진행하지는 않았다. 일단 그래도 수정, 첨부 사항을 만들었는데 - assassin 캐릭터가 너무 약하다. >> 이 캐릭터가 warrior와 wizard에 비해서 뭔가 임팩트 있는 스탯이 없다고 판단 >> 어떠한 스탯을 새로 투여할까 고민(회피, 혹은 일정 턴 당 폭딜) >>암살 쪽으로 진행해야 한다고 판단해서 순간적인 폭딜 중요하게 생각 >>하지만 무작정 늘리면 다른 캐릭터와 특색이 겹침 그 결과, 플레이어 공격 두 번 당 한 차례씩 공격하도록 설정하는 것이 밸런스에 맞겠다고 판단하여 공격. if문을 사용해서 turn % 4 = 2가 되면, 목적에 부합하는 결과가 나오기 때문에 이렇게 하기로 함. 또한 클래스 부분도 손을 봤다. 사실 크게 손 댄 것은 없지..

project/project 2023.03.28

미니 프로젝트3 : 파이썬으로 게임 만들어보기

새로운 과제 : 플레이어와 몬스터를 생성하여 1대 1으로 싸우는 상황을 파이썬으로 구현하기 목표는 파이썬 기초 문법에 익숙해지고, 파이썬 심화 문법을 자주 접해보기 이다. 다음과 같은 기준을 잡고 우선적으로 게임을 만들어보기로 했다. 우선은 기본적인 역할에 충실하기 위해 어떤 방식으로 게임 코드를 만들어볼까 고민을 많이 했는데, 어떠한 방향으로 가든 잘 만들어지면 그만이라고 생각하고 만들어보고자 했다. 우선은 class로 기본 틀을 설정하고 그 다음 그 객체로 'Player'와 'Monster'을 설정했다. 그런데 player와 monster의 공통점이 상당히 많으므로, class character를 따로 설정한 다음, class Player에는 마법 공격 함수만 넣어보았다. 그 결과, class Cha..

project/project 2023.03.28

3월 4째 주 WIL

이번 주에는 파이썬 심화 문법 sourcetree를 이용한 git 이해하기 코딩테스트 입문 단계 진행 총 3가지로 진행했다. 파이썬은 특히 조건문, 반복문, class문에 집중했다. 두 번의 미니 프로젝트 코드를 통해 꾸준히 나오는 문법들이 무엇인지 확인하는 과정에서 이 3가지 문법이 가장 자주 나온다는 것을 느꼈기 때문에 특히나 집중했다. 그런 만큼 100% 이해되는 것은 쉽지 않았다. 응용하는 점에서 아직 미숙함을 많이 느꼈다. 그래서 진행한 것이 프로그래머스를 통한 코딩테스트 문제 해결이다. 12개의 문제를 해결하면서 나름 문법에 대한 복습도 진행했고, 물론 아직 여러 문법을 동시에 적용하는 게 완전히 편하지는 않지만 차차 발전함을 느끼고 있다. 또한 프로그래머스에서 다른 분들이 제시한 답변을 보고..

Weekend I learned 2023.03.26

sourcetree를 이용한 git branch

branch는 사전적 의미로 가지라는 뜻이다. 우리는 살면서 한 프로젝트만 실행하지도 않고, 혹은 한 프로젝트 내에서도 여러 가지로 작업이 나뉠 수 있다. 만약 이것들을 카테고리 식으로 정리하지 않으면, 수많은 정보들 사이 공통된 이름들끼리 충돌할 수도 있다. 충돌이 일어나면 당연히 에러가 발생하기 때문에 이것을 사전에 방지해야 하는데, 충돌을 사전에 방지하는 방법으로는 크게 두 가지로, branch와 merge가 있다. 오늘은 branch에 대해 공부해 보았다. 본인의 깃허브로 들어가면 issues 버튼이 있는데, 이것을 누르면 다음과 같은 화면이 나온다. 이걸 누르면 팀원들에게 이슈를 생성하고 공유할 수 있다. 내용 작성을 마치면 suggestion을 통해 제안할 멤버들을 정하고 submit new ..

github 2023.03.25

sourcetree를 이용한 git push, pull

로컬(local) 환경에서 만들었으니 이제는 깃허브(remote)에 올리면 된다. 깃허브에 굳이 올리는 이유는 간단하다. 1. 회사를 들어가면 당연히 팀플을 할 것이기 때문에, 여러 개의 로컬 값이 모이는 장소가 필요 2. 코드를 올리면 다른 사용자분들이 comment를 달 수 있기에 개인의 성장이 가능 그렇다면 소스트리를 이용해서는 어떻게 올릴까? 정말 잘 보이는 push 버튼이 있다. 저걸 누르면 된다. 사전에 브랜치 아래에 있는 main을 점검해주고 눌러야 한다. 그럼 이 창이 뜰텐데 이대로 그냥 push 해주면 된다. 이러면 git push 끝. 정말 간단하다. 이러면 내가 해놓은 것이 바로 여기에 올라오게 된다. 깃허브에서까지 확인 끝. 다음은 git pull 이다. git pull은 remot..

github 2023.03.24

sourcetree를 이용한 버전 관리와 commit 3단계

깃을 한 번도 접해보지 않은 사람들에게는 처음에 엄청 어렵게 느껴질 수 있는 주제다. 그런데 막상 접해보면, 이렇게 쉬운 게 없다! 우리는 이 깃을 좀 더 쉽게 이해하기 위해서 소스트리(sourcetree)라는 것을 설치해보겠다. 네이버에 소스트리 치면 이 홈페이지가 나오니까 쉽게 다운받을 수 있다. 모두 다운받으면 소스트리 창이 뜨면서 계정 등록을 요구할텐데, 본인의 계정을 올바르게 잘 등록하면 된다. 모두 잘 되었다면 다음과 같은 창이 떠야 한다!(김치 레시피는 강의용이니 무시해주세요) 근데 로컬 저장소에 모두 빈 칸이다! 깃을 만들 적이 없으니 당연히 빈 칸이다. 그러면 이제부터 소스트리를 통해 깃을 사용해보겠다. 바탕화면에 저희 조 이름을 줄여서 폴더명을 '5지조'로 지어보았다. 그 다음 깃에 넣..

github 2023.03.24

map, filter, lambda 식 연습

lambda 식을 제대로 이해하지 못해서 프로그래머스를 통해 문제를 풀어보고, 다른 분들의 해답도 보면서 식을 제대로 이해해 보기로 했다. 우선 매우 쉬운 것부터 차근차근 풀어보았다. 보다시피 매우 간단하다. 그냥 빼기만 쓰면 된다. def solution(num1, num2): return num1 - num2 그럼 이것을 lambda 식으로 바꾸면 어떻게 될까? solution = lambda num1, num2 : num1 - num2 물론 이 경우는 위 식이 가장 편하지만.. lambda 식 설명을 하자면, num1 과 num2를 lambda 식에 적용하겠다는 뜻인 [lambda num1, num2] 뒤에는 num1 - num2를 통한 식 계산 이게 기본 형태이다. 그럼 여기서 리스트가 들어가는 ..

언어/Python 2023.03.23

LV.0 : ["세균 증식"], ["OX 퀴즈"]

첫 프로그래머스 테스트로, 아직 실전이 무서운 햇병아리기에.. 레벨 0 중 가장 정답률이 높은 문제를 가져와 보았다. 그렇게 가져온 것이 바로 세균 증식 문제! 그냥 봤을 땐 입출력 예가 이해가 안 됐지만, 역시 꼼꼼히 봐야 된다고.. 다행히 금방 이해는 됐다. n이 10을, 또는 t가 15를 넘었을 때 멈추게끔 if 조건문을 뼈대로 형성해야겠다는 생각이 들었다. 그런데 코드를 너무 근본없이 썼다 n, t, result 값이 모두 나와야 하는데 n과 t가 같이 더해져서 나온다는 점. 그리고 수열 배치가 제대로 되지 않는다는 점... 등등 상당히 많은 문제가 나왔다. 이론을 완벽히 거스르는 코드인 점을 확인했으니 다 지워버리고 처음부터 다시 했다. 그렇다면 어떻게 하면 좋을까? 다시 생각해보니 n, t값이..

cording test 2023.03.22

requests 에러 표시, 함수 return type

파이선 심화 과정에 하루를 갈아넣었는데 아직 다 이해하진 못 했다. 그래도 나름 얻어둔 것들을 나열하자면, 1. requests의 상태 코드 두 번의 프로젝트를 거치면서 코드 뒤에 1xx, 2xx가 뜰 때는 큰 문제가 없었는데, 항상 화면 상에서 에러가 뜰 때는 api 에러코드로 4xx와 5xx가 뜨길래 어디서 문제가 생긴 건지 너무 궁금했었는데, 드디어 알아냈다. 상태코트 (2xx : 성공, 3xx : url 변경, 4xx : 클라이언트 오류, 5xx : 서버 오류) 함수의 리턴 타입 sort : 내가 직접 리턴하기 때문에 등호(=) 표시를 할 필요가 없었다. sorted : 다른 주체(컴퓨터, 사람 등)가 리턴한 것을 가져오는 행동이기 때문에 등호(=) 표시를 해서 가져와야 한다. docstring을..

언어/Python 2023.03.21