[백준 10773번 문제 파이썬(python)] [제로] 문제 설명 스택을 만들어서 0이 아닐때에는 값을 넣고 0일때는 가장 최근 스택값을 없애주고 마지막에 합을 구해주면 되는 문제 코드 import sys K = int(sys.stdin.readline()) stk = [] for _ in range(K): number = int(sys.stdin.readline()) if number != 0: stk.append(number) else: stk.pop() print(sum(stk)) PS/스택(stack) 2023.08.13
[백준 10828번 문제 스택 파이썬(python)] input()은 쓰지 말자 문제 설명 단순히 명령문에 따라서 시행하면 되는 문제 코드 import sys N = int(sys.stdin.readline()) stk = [] for _ in range(N): command = sys.stdin.readline().split() if command[0] == "push": stk.append(command[1]) elif command[0] == "pop": if stk: print(stk.pop()) else: print(-1) elif command[0] == "size": print(len(stk)) elif command[0] == "empty": print(1 if not (stk) else 0) elif command[0] == "top": print(stk[-1] if.. PS/스택(stack) 2023.08.13
맵, 집합, 우선순위 큐 맵 c++(Map) python(Dictionary) map 형식은 키와 밸류 쌍으로 이루어져있으며 대표적으로 JSON의 형식이다 (key : value) key는 중복될 수 없는 고유한 값이여야하지만 value는 중복이 가능하다 c++에서는 logN의 시간 복잡도를 가지고(정확히는 밑을 2로 가지는 log2 N ) python에서는 1의 시간 복잡도를 가진다(파이썬에서 유리하다) 집합 set 집합은 중복이 되지 않고(중복된 값을 넣을 수는 있지만 1개만 남는다) set 함수로 사용할 수 있다 c++에서는 logN의 복잡도 python 에서는 1의 복잡도를 가진다 python에서 s.pop()으로 제거시 무작위로 1개의 값이 제거된다, s.remove('원하는값')으로 원하는 값을 제거할 수 있다 집합과.. 알고리즘(algorithm) 2023.08.13
배열과 링크드리스트에서의 빅오 [알고리즘 코딩 테스트 입문부터 합격까지 (Feat. 컴공선배 알고리즘캠프)] 배열의 경우 탐색을 할 경우: arr[2] 는 arr[0]의 주소 + 2*(해당 타입의 바이트 수)를 의미하므로 1번의 계산으로 원하는 위치를 특정할 수 있다 이는 O(1)이 됨을 뜻한다 추가/삭제를 할 경우: 만약 arr[2] = 4를 넣고 싶다면 기존의 arr[2] ~ arr[6] 까지의 값들을 한칸씩 뒤로 미뤄야 한다 만약 맨 뒤에 넣고 싶다면 옮길 필요가 없으니 1번이면 되지만 맨 앞에 넣고 싶다면 모든 값을 한번씩 옮겨야하니 N이 된다 O(빅오) 에서는 최악의 상황을 가정하므로 이때는 O(N)이 됨을 뜻한다 링크드리스트의 경우 탐색을 할 경우: 링크드리스트에서는 99의 값의 위치를 찾으려고 해도 한번에 찾을 수 없다 99를 찾으려면 0의 위치를 찾아야 하고, 0을 찾으려면 5의 위치를 찾아야 한.. 알고리즘(algorithm) 2023.08.12
권오흠 자료구조 2강 (문자열) c에서의 3가지 문자열 타입 c에서 문자열 끝에는 \0 이라는 끝을 표시하는 null charater을 넣어줘야 한다 하나하나 넣기에는 불편하므로 c 에서는 편리한 기능을 제공하는데 이는 str[] = 'abcde'와 같이 선언할 경우 자동으로 문자갯수 + 1 개 크기의 문자열 배열을 만들어준다 str[] 변수는 만들어진 공간의 첫 주소를 가리키는 포인터 변수(주소 변경 불가)라고 말한 적이 있었는데 *str도 마찬가지로 주소를 가질 수 있는 포인터(주소 변경 가능)이다 str[] = 'abc' 와 *str = 'abc' 의 차이점은 str[]로 선언할 경우 str[1] = 'c' 와 같이 문자의 변경이 가능하지만 *str로 선언할 경우 문자의 변경이 불가능 하고 이를 string literal 이라고 .. 자료구조(data structure) 2023.08.11
권오흠 교수님의 자료구조 1강 (C언어 기초 문법 리뷰 - 배열, 포인터, 문자열, 동적메모리할당) 컴퓨터의 메모리는 데이터를 보관하는 공간 이런식으로 메모리에는 바이트(8비트)가 무수히 많이 존재하는데 우리가 변수를 선언할 경우 이 메모리에 자리를 배정하는 것이다 그리고 각 자리에는 번호가 써져 있으며 이를 주소라고 한다 즉 모든 변수는 주소를 가진다 포인터는 메모리 주소를 값으로 가지는 변수 포인터(*)를 선언할때는 [타입명 * 변수명] 으로 선언한다 포인터 변수는 그 값으로 메모리의 주소를 가진다 당연히 포인터 변수 자체도 메모리 특정 부분에 배정 받기에 주소를 가진다 타입명은 포인터가 향후 가르키게 될 변수의 타입을 뜻한다(주소를 값으로 가지면 그 주소의 값이 존재할 것이다, 이때 그 값의 타입을 뜻함) 한장으로 파악하는 포인터 구조 위 사진을 이해한다면 포인터를 이해한 것이다 &연산자는 &뒤에.. 자료구조(data structure) 2023.08.11
성공을 위한 입문 도서 (역행자 BY 자청) 짝사랑하던 여자를 친구한테 빼앗겨도, 전 재산을 코인 투자로 날려도 한 달 후에는 맛있게 밥을 먹을 수 있게 자아를 살뜰히 보살펴주는 게 바로 자의식이다. 이제 뇌는 내 자아가 너무 엉망이 되지 않도록, 답도 없는 이 문제로 자살에 이르지 않도록 온갖 이유들을 가져다 대며 행동을 합리화 한다. 우리는 너무나 정신적인 고통에 약한 존재이기에 우리의 뇌는 그런 인간의 생존을 위해 여러가지 방법을 시도한다. 합리화를 한다거나, 까먹어버리는 것과 같은 방식으로 말이다. 하지만 우리가 실수를 하거나 잘못된 판단을 했을때 그것으로 부터 성장하려면 그 실패를 외면하거나 까먹기보다 오히려 정면으로 주시하고 뇌리에 박아 기억해야할 것이다. 날 있는 그대로 좋아해주는 사람을 찾는 건 그냥 나 편하자고 했던 말일지도 모르겠.. 독서(book) 2023.03.11
제주도 여행기 5 제주 올레길 1코스 말미 오름 오르기(feat.종달수다뜰) 오늘은 올레길을 걸어보기로 했다 제주도는 여러 가지 올레길이 있는데 그중에서 난이도가 쉽고 올레길이 처음이라면 시도해 볼 만한 1코스로 가보기로 했다. 1코스는 총 15.1킬로며 소요시간은 4~5시간 정도 걸린다고 한다 낮은 오름도 하나 지나고 산뜻한 풀밭과 바다까지 지나는 코스로 관광객이라면 제주의 모든 풍경을 조금씩 볼 수 있기에 많이들 가고 추천받는 코스다. 시흥초등학교 근처가 출발점인데 버스로도 갈 수 있으며 입구에는 이렇게 표시가 되어있다. 올레길 안내소라고 스탬프를 받거나 관련 책자를 받고 안내를 받는 곳인데 내가 갈 때는 점심시간이라서 문이 닫혀있어서 못 들어갔다. 올레길 1코스는 오름을 올라가며 시작한다 올라갈 때 조금 가파르긴 한데 한 15분 정도 사진 속 경사로 걸으면 평지에 도달한다 .. 여행(trip) 2021.12.04
제주도 여행기 4 김녕 해수욕장,제주 츤츤 핫도기(김녕해수욕장화장실과샤워실,김녕해수욕장풍경,물놀이,제주해변추천,제주 츤츤 핫도기 메뉴와 가격,제주핫도그) 만장굴을 나와서 바로 버스를 타고 김녕 해수욕장으로 향했다 버스가 바로 앞에 내려주기 때문에 대중교통으로도 충분히 올 수 있는 곳이다 김녕 해수욕장은 꼭 가야할 제주도 관광지로 자주 선정될만큼 아름다운 해변으로 유명하다 사진에서는 조금 어둡게 담겼지만 실제로는 사진보다 조금 밝다 보다시피 물이 아주 맑고 수심이 얕게 형성되어 있어 물놀이 하는 사람들이 종종 보인다 해수욕장 규모가 큰편이 아니고 아는 사람들만 찾아오는 해변 뭐 그런 느낌인데 나는 그래서 더 좋았다 사람이 별로 없고 따로 장사꾼들도 없기에 조용하고 여유롭게 바다를 즐길 수 있었다 해변 뒤편으로는 화장실과 샤워실, 편의점과 식당이 위치하고 있어 물놀이중 허기와 그후 뒤처리도 고민할 필요가 없다 신혼부부가 셀프 웨딩을 찍으러 오기도 하는 곳인만.. 여행(trip) 2021.11.29
제주도 여행기 3 만장굴을 가다!(만장굴 식당, 만장굴 주의사항, 냉모밀,만장굴 휴게소,만장굴 입장료) 메이즈랜드에 갔다온뒤 바로 버스를 타고 만장굴로 향했다. 관광객들을 위해서 유명한 관광지는 대부분 버스가 가기 때문에 쉽게 도착할 수 있었다(다만 특정 버스는 배차 간격이 크므로 미리 확인해서 나오자) 만장굴에 들어가기에 앞서 점심을 먹기위해 만장굴 휴게소 식당으로 향했다 냉모밀을 먹었는데 맛이 아주 좋았다(특히 저 새우는 기가 막힌다) 가격은 만원이었던거 같다 제주 관광지 물가에 비하면 비싼편은 아니다 만장굴 입장료 가격은 일반/성인 4천원, 청소년/어린이 2천원, 경로자 장애인은 무료이다. 자세한 사항은 다음 홈페이지에서 볼 수 있다. https://www.visitjeju.net/kr/detail/view?contentsid 만장굴 만장굴을 방문했었습니다. 가지마세요. 만장굴 사진보다 더 어둡고 가.. 여행(trip) 2021.11.25