알고리즘
-
[항해99]WEEK2-WILsparta 2021. 6. 20. 12:31
WEEK2. 알고리즘 주간을 거치며 항해99 2주차가 끝났다. 알고리즘 주간을 들어가면서 또 한번 좌절을 경험했다. 알고리즘을 풀기는 커녕 여러 사람들의 답지를 보며 문제 자체를 해석하는 수준이라 이게 맞는건지 끊임없이 의심이 들었다. 그럴때마다 매니저님과 튜터님에게 상담을 받았는데 돌아오는 말은 같았다. 알고리즘을 처음 하는 사람들이라면 그렇게 시작하는게 당연하고, 답지를 보고 문제를 풀이하는 것. 이 또한 학습이다. 꾸준한 문제풀이로 익숙해지는게 답이다. 그렇다. 나는 지금 이 모든 학습들이 처음이다. 자꾸 조급해하는 나를 보면서 욕심이 지나쳤구나 생각이 들었다. 잘하고싶은데 아직 그럴 실력은 아니니 그런 내 모습에 실망이 커져갔고, 좌절감은 여기서부터 시작됐다. 내 기대치와 실제 실력이 맞지 않을때..
-
[항해99]알고리즘_04sparta/알고리즘 2021. 6. 18. 21:09
[Python] 백준 10828 스택 문제분석 # 파이썬은 스택 자료구조를 따로 제공하지 않고, 기본 클래스인 리스트나 링크드리스트를 통해 구현한다. # 스택 (last In First Out) push(data) 스택의 가장 최상위(마지막)에 데이터 삽입 pop(): 스택의 가장 최상위(마지막)에 데이터 추출 후 스택에서 삭제 isEmpty 스택이 empty 상태인지 여부 반환 peek 스택의 가장 최상위(마지막)에 위치한 데이터 추출 pop 메서드와는 달리 스택에서 데이터를 삭제하지 않음 # push X: 정수 X를 스택에 넣는 연산이다. # pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력. # size: 스택에 들어있는 정수..
-
[항해99]알고리즘_03sparta/알고리즘 2021. 6. 17. 18:43
[Python] 백준 10250 AMC호텔 문제분석 # 각 층에 W개의 방이 있는 H층 건물 # 방 번호는 YXX, YYXX로 하는데, Y는 층수를 뜻하며 X는 엘베에서부터 세었을때 떨어진 거리 # 각 방의 거리는 1로 동일 # 거리가 같을때는 아래층 방 선호 # 따라서 채우는 순서는 엘베로부터 떨어진 거리가 1인 H층의 1층부터 H층까지 채우고, 그 다음 떨어진 거리가 2인 H층의 1층부터 H층까지 채우는 식. # n번째 손님이 배정받아야 하는 방 번호 출력문제 # 파이썬의 표준입력은 input(), 표준출력은 print()함수를 지원한다. 만약 H, W, N이 각각 5, 4, 9라면, 손님이 채워지는 순서는 아래와 같다. elev. 5 (501호) 4 (401호) 9 (402호) 3 (301호) 8 ..
-
[항해99]알고리즘_02sparta/알고리즘 2021. 6. 16. 21:30
[Python] 백준 1436 영화감독 숌 문제분석 - 영화 제목에 6이 연달아 3번 들어가야함. - 그래서 첫번째 영화는 666, 두번째 영화는 1666, 세번째 영화는 2666... - 그렇다면 n번째 영화에 들어간 숫자는 무엇인지 출력. 문제풀이 n = int(input()) # 입력값은 n으로 받음 count = 0 # 제목에 666이 들어간게 나오면 횟수 추가하는 변수 name = 666 # 0부터 시작해도 되지만 665까지 어차피 필요없는 수이니까 666부터 시작해도 무방 while True: # 666을 찾기위해 무한반복 할건데 if '666' in str(name): # 제목에 666이 있으면 count += 1 if count == n: # 그렇게 더한 count와 제일 처음 받은 입력값..
-
[항해99]알고리즘_01sparta/알고리즘 2021. 6. 16. 12:03
[Python] 백준 1316 그룹 단어 체커 문제분석 - 입력은 단어의 개수 - 입력 받은 단어에서 알파벳과 그 다음 알파벳을 비교했을때, 다른 알파벳이 나왔다면 그 이후의 알파벳들에서는 첫 알파벳이 나오면 안됨. - 최종적으로 그룹단어의 개수를 출력해야함. 문제풀이_01 n = int(input()) #1 for _ in range(n):#2 word = input() #3 for i in range(len(word) - 1): #4 if word[i] != word[i + 1]: #5 if word[i] in word[i + 1:]: #6 n -= 1 #7 break #8 print(n) #1 단어 개수 입력값으로 받음 #2 단어의 개수만큼 반복문 돌림 #3 단어 입력을 받고 #4 그 단어의 길이-..
-
[항해99]WEEK1-WILsparta 2021. 6. 13. 21:31
WEEK1. 생각보다 배멀미가 심하네 폭풍같은 항해 1주차가 지났다. 웹개발 종합반과 플러스 강의를 들으면서 팀을 이뤄 미니프로젝트를 4일간 진행했다. 와이어프레임을 짜면서 필수적으로 들어가야 하는 기능과 부가적으로 추가되었으면 하는 기능들을 나누고 각자 페이지를 정해 개발을 시작했다. 우리 팀은 내새끼 자랑이라는 컨셉으로 우리들의 반려동물을 위한 일기 작성 페이지를 만들었는데, -회원가입 -로그인/로그아웃 -게시글 작성 -이미지 업로드시 미리보기 -게시글 삭제(작성자만 삭제할 수 있도록 버튼 생성) -상세게시글 보기 등 여러 기능을 넣었지만 이 중 내가 제대로 구현 할 수 있었던 것들은 게시글 작성 정도라 눈물이 앞을 가린다. 첫 프로젝트가 끝나고 다른 팀과 회고를 할때 공통적으로 나왔던 말이, 이 코..