튜터님 수업 데이터 타입 데이터 타입은 효율이다! 트리구조! 트리구조는 상하관계가 있다! 그래프는 서로가 서로를 이어주고 있다! 소셜망같은 느낌 오늘의 메인 디쉬! 자료를 배울 때에는 구조와 연산이 중요하다!!! 맨위를 탑! 탑을 꺼낼 때에는 pop 밀어넣기 뒤로가기가 스택에 가장 기본적인 예시! 스택의 연산방법! 백트래킹!! 한정조건을 걸어준다! 가지치기를 한다! 오늘도 즐거운 문제 풀이시간! 와 오늘은 정말로 맵다! 괄호 # Code import sys # 표준 입력을 파일로 설정 sys.stdin = open("input.txt", "r") # 테스트 숫자 입력 test = int(input()) # 테스트 숫자 만큼 반복 for _ in range(test): # 입력 값을 단어마다 나누어서 리스..
튜터님 강의 SW Expert Academy SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 여기서 문제 풀이도 해보자. 문제 1 import sys #표준입력을 파일로 설정 sys.stdin = open("input.txt","r") def list_odd(x): global found_text for line in x: for index in range(len(line) - n + 1): if line[index:index + share] == line[index + share: index + (share * 2)][::-1]: found_text += 1 def list_even(x): global fou..
정렬 프로그램 상에서 정렬은 어떻게 진행이 되는 것인가?? 재대로 알아보자. 버블정렬 리스트에서 두개씩 비교해가면서 점점 오른쪽 부터 맞추어 나가는 방식 https://www.daleseo.com/sort-bubble/ [알고리즘] 거품 정렬 - Bubble Sort (Python, Java) Engineering Blog by Dale Seo www.daleseo.com # 버블정렬을 만들어 보자! def bubble_sort(array): # 비교를 해야 하는데 처음에는 8자리까지 그다음은 7자리......마지막은 0자리로 끝이 나게 for i in range(len(array) - 1,0,-1): # 8,7,6,5,4,3,2,1순으로 들어간다. for j in range(i): if array[j]..
튜터님 강의 완전 탐색 map함수 map(함수, 리스트) 받은 리스트에게 모두 함수를 적용시키고 싶을때! 그냥 하면 함수명으로 나옴 그래서 리스트로 만들어 주어야함 아니면 이렇게도 가능합니다. for i, num in enumerate(input_list, 1): 1씩 증가 하는 i값이 같이 반복문에 들어간다. (input_list, 1)의 1은 시작 값이 1로 설정 이분탐색 경우의 수를 절반씩 줄여가면서 만들어야 하는 경우 너무 많아서 선형식으로 계산하게 되면 시간 초과가 되어버리는 경우에는 이분탐색으로 하는 것이 유용하다. 이렇게 계산 하는 방법의 시간은 log₂n으로 줄어들게 된다! 이분탐색은 정렬이 되어있다는 가정하에 사용이 가능합니다! key이용하기 lambda 사용하기 람다는 일회용 함수! 강..
숫자야구 만들기 와.... 문제를 보자 말자 정말 어렵다고 생각이 들었다.. 숫자야구를 만드는 게임을 하는건 쉬운편인데 반대로 맞춘걸 바탕으로 남은 정보를 알려주는 것을 만들어야 한다. 이걸.... 머리가 깨지는 문제라는 생각이 팍 들었다. 이렇게 나와 있는 문제에서 내가 답을 도출 하는 것인데 예를 들어보면 내가 문제를 4번을 통해서 답을 받았는데 여기서 내가 시도 해 볼 수 있는 남은 경우의 수는 무엇이 있는지 알려주는 로봇은 만든다는 느낌으로 해야한다... 결국 문제를 봐도 답이 떠오르지 않아서 나는 해답지를 보았는데... 봐도 이해를 하는데 엄청 오래 걸렸다. 나는 이걸 사람에 비유를 해서 생각을 했습니다. 1부터 9까지 중복이 없는 3자리의 번호로 하나씩 부여를 받은사람이 있는데. 내가 명단을 ..
이번주 부터는 알고리즘에 대한 교육이 시작이 되었습니다! 알고리즘 예시 문제를 풀면서 배워 나가는 문제입니다. 1. 두수의 차 이런식으로 문제의 정답이 나오게 만들면 되는 문제 입니다. 여기서 제한 사항을 추가하기 위해 import random def solution(num1, num2): answer = num1-num2 return answer a, b = (random.randint(-50000, 50000), random.randint(-50000, 50000)) result = solution(a,b) 랜덤을 넣어서 작성 하였습니다. 2.두수의 곱 두수의 합에서 솔루션 함수의 내용만 바꾸어주면 된다. import random def solution(num1, num2): answer = num1..
한 주간의 개인과제를 끝을 내었습니다. 개인 과제를 받았고 내가 직접 만들어 보는 시간을 가지면서 처음부터 끝까지 구상을 하고 만들어가는 것을 배웠으며 모르는 것을 찾아보면서 오류가 발생을 했을 때 해결하는 법을 찾아보면서 문제 해결에도 찾아가면서 해결하는 재미를 알 수 있었습니다. Up Down 게임 만들기 : https://phjphj147.tistory.com/32 (개인 과제) Up Down 게임 만들기 드디어 첫 과제를 받았습니다!!! 처음 만들게 될 과제는 업 다운 게임을 만들기! 업다운게임에 들어가야 할 요소들을 알려주셨는데. 내용 플레이어와 컴퓨터가 참여하는 업다운 게임을 만드세요 phjphj147.tistory.com 가위 바위 보 게임 만들기! : https://phjphj147.tis..
드디어 1주일간의 개인 과제가 완료되었습니다! 정말 만들면서도 많은 오류와 문제가 많았지만 그래도 내가 직접 만들어보고 사이트에서 내가 만든 게임을 실행이 되는 모습을 보니 뿌듯하고 기분이 좋았습니다. 만들면서 느낀 점 만드는 것에는 방법이 너무나도 많아서 정석이 없다고 할 정도로 이런저런 방법을 다 써봤던 것 같습니다. 4시간 동안 머리를 싸매고 만들었던 방법이 고작 30분 만에 새로 만든 방법보다 기능이 떨어지는 것도 경험했고 데이터 베이스에서 값을 저장하여 게임을 끄더라도 계속 이어서 할 수 있는 방법을 알게 되었고 git hub를 이용해서 내가 만들고 있는 것들을 원격으로 저장하는 방법도 알게 되었는데... 이 부분에 대해서는 아직 모르는 게 너무 많아서 다시 한번 알아봐야겠다는 생각을 하였습니다..
오늘의 GIT특강 브랜치 = 나뭇가지 수정은 하고싶은데 기존의 파일은 그대로 두고 싶을 때 복사본이라는 개념으로 받아들이자 이제 만든것을 합쳐보자 서버내에서 합치기 팀과제를 할 때에는 main브랜치는 == 배포용 으로 생각을 해두는 게 좋다. 한번에 다 기능이 다 되어야지 merge가 가능하다는 단점이 있다. 그래서 개발용 브랜치를 만든다 develop브랜치(dev브랜치) 대부분 테스트용으로 만들어서 쓴다. 테스트 서버 같은거 라고 보면 된다. 이러한 문제가 발생할 수 있다 이제 만드는 순서를 알아보자 팀장이 하게 될 일 팀원 브랜치 충돌!!!! 그리고 드디어 완성된 가위 바위 보 사이트!!! https://phjphj147.tistory.com/37 (개인 과제) 가위 바위 보 게임 웹으로 만들기! 2..
오늘 하루는 뭔가 흐리멍덩하게 지나갔던 것 같다.. 오늘은 HTML에서 자료를 받아서 Flask에서 계산을 하는 법을 알아내었다. 근데 뭔가 진행은 조금씩 되어 가고 있는데... 마음대로 잘 되지 않아서 일까 생각보다 집중이 잘 되지 않았습니다,... 내일에는 좀더 집중을 해서 만들어야 할 것 같다는 생각이 들었습니다. https://phjphj147.tistory.com/37 (개인 과제) 가위 바위 보 게임 웹으로 만들기! 2번 과제에 해당하는 가위 바위 보 게임을 온라인에서 작동 할 수 있도록 해보자! 과제 내용: 앞서 진행했던 가위 바위 보 게임 의 입출력을 Flask 와 HTML 을 이용하도록 변경하세요. 과제2 에서는 phjphj147.tistory.com 최신화를 하면서 만들어 가도록 하겠습..