(파이썬) 후위 표기식(postfix) 계산기 - 스택
2022. 6. 21. 14:29
CS/자료구조-알고리즘
어제 날라간 posfix 계산기를 다시 코딩해봤다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 def postfix_calculator(expression): operator = ['+', '-', '*', '/', '^', '%'] #'^', '%'는 '*', '/'와 동일한 우선순위를 갖는다. operand = ['0', '1', '2', '3', '4' ,'5'..
덱, 카드 2 + 회전하는 큐
2022. 6. 20. 23:38
PS/BOJ
10866 - 덱 문제 정수를 저장하는 덱(Deque)를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여덟 가지이다. push_front X: 정수 X를 덱의 앞에 넣는다. push_back X: 정수 X를 덱의 뒤에 넣는다. pop_front: 덱의 가장 앞에 있는 수를 빼고, 그 수를 출력한다. 만약, 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다. pop_back: 덱의 가장 뒤에 있는 수를 빼고, 그 수를 출력한다. 만약, 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 덱에 들어있는 정수의 개수를 출력한다. empty: 덱이 비어있으면 1을, 아니면 0을 출력한다. front: 덱의 가장 앞에 있는 정수를 출력한다. 만약 덱에 들어있는 ..
(자료구조)순차적 자료구조/스택과 큐 - postfix 계산기와 첫 증발
2022. 6. 20. 21:12
CS/자료구조-알고리즘
C언어에서 배열(Array)과 Python에서 List의 차이. + 파이썬 리스트 내부 구조 - seoyeon hwang님 C언어는, 1. 배열에 쓰일 자료형과 그 수를 지정해줘야 한다. 2. 배열에 원소가 저장되면, 메모리에 그 배열이 연속적으로 저장되고(값 자체), 첫 원소의 주소를 통해 원소들에 접근한다. 한편 Python은, 1. 자료형과 수를 지정해줄 필요가 없다. (내장 기능을 통한 resize와 작동원리로 인해) 2. C언어와 다르게, 이중으로 배열을 저장한다. (C언어는 메모리에 그 값 자체를 저장하고 배열의 주소를 이용해 호출하였지만, Python은 메모리에 그 값의 주소를 저장하고, 배열의 주소 - 값의 주소를 이용해 호출한다.) -> 이로 인해 자료의 type에 구애받지 않고 서로 다..
스택, 큐! + 실2 승급
2022. 6. 19. 22:27
PS/BOJ
오랜만에 게임도 좀 하고 노니까 재밌는데.. 뭔가.. 코딩이 아른거린다.. 다음 주 동안 배울 알고리즘 강의 수강 전에, 미리 스택이랑 큐 문제는 풀어보려고 했다. 내일 들을 때 더 이해가 잘 될 것 같아서 뭔가 신난다.. 10828 - 스택 문제 정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 다섯 가지이다. push X: 정수 X를 스택에 넣는 연산이다. pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 스택에 들어있는 정수의 개수를 출력한다. empty: 스택이 비어있으면 1, 아니면 0을 출력한다. top: 스택의 가장 위에 있는 정수를 출력한다. 만약..
(백준, 파이썬, 다시) 함수와 정렬
2022. 6. 18. 20:00
PS/BOJ
2751 - 수 정렬하기 2 문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. - 틀린 코드(시간초과) - 찾아보니, 파이썬에서 지원해주는 sorted는 merge sort(반으로 갈라서 찾기 - BigO = n log n)로 한다고 한다. 그리고 sys.stdin.readline()으로 하니까 풀렸다.. 이후에 수 정렬하기 4도 reverse만 넣으면 풀 수 있다. 2108 - 통계학 ..
(백준, 파이썬) 2차원 Array / 세로 읽기 / 색종이
2022. 6. 17. 22:19
PS/BOJ
10798 - 세로 읽기 (https://www.acmicpc.net/problem/10798) 문제 아직 글을 모르는 영석이가 벽에 걸린 칠판에 자석이 붙어있는 글자들을 붙이는 장난감을 가지고 놀고 있다. 이 장난감에 있는 글자들은 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’부터 ‘9’이다. 영석이는 칠판에 글자들을 수평으로 일렬로 붙여서 단어를 만든다. 다시 그 아래쪽에 글자들을 붙여서 또 다른 단어를 만든다. 이런 식으로 다섯 개의 단어를 만든다. 아래 그림 1은 영석이가 칠판에 붙여 만든 단어들의 예이다. A A B C D D a f z z 0 9 1 2 1 a 8 E W g 6 P 5 h 3 k x 한 줄의 단어는 글자들을 빈칸 없이 연속으로 나열해서 최대 15개..
자료구조 - 알고리즘 시작 // 백준 - 구간 합 try 실패
2022. 6. 17. 20:17
CS
(컴맹을 위한 Go 언어 기초 프로그래밍 기초 강좌) Go라고 써있긴 하지만, 1~6강 동안에는 컴퓨터가 어떻게 작동하는지에 대한 원리를 설명해준다. 트랜지스터 - 논리소자 - 계산기 - 원시 컴퓨터(튜링/폰 노이만) - 현재의 컴퓨터로 빠르면서도 간결하게 얘기해줘서 진짜 기술의 발전이 컴퓨터에 집약되어 있구나 하는 생각이 들었다. 그 외에 언어별로 구분하는 동적/정적 언어에 대한 구분법(일종의)이나 컴파일러, 기계어와 같은 개념도 알게 되었다. 요리로 비유해서 컴퓨터의 동작을 설명하는 부분이 진짜 압권이다. 저장소(HDD - 마트)에서 bus(실제로 케이블 이름이 버스임)를 통해 메모리(냉장고)에 불러오고, 그 메모리에서 재료들을 '움큼'(필요한 것만 빼는게 아니라 근처 값들도) 꺼내서 도마(Cache..
(파이썬)네이버 부스트캠프 자가진단 톺아보기 - 끝
2022. 6. 16. 18:23
Daily/일기
톺아보기 1 톺아보기 2 이전 톺아보기 글에서 C언어로 이뤄진 재귀함수 문제를 제대로 못 풀었다. 이 때 나는 C언어를 아예 몰랐으니.. 하지만 현재의 나? "CS50을 통해 Havard의 C언어를 배운사람." 다시 풀어보자. -draw1의 의사코드- 1. 정수형 파라미터를 받는 draw1을 설정한다. 2. h가 0이라면 2-1 void를 리턴한다. 2-2. 그게 아니라면 draw1(h-1)을 실행한다. - 재귀 3.정수형 i는 0인데(초기 값) i가 h와 같아질 때까지 i에 1을 더하면서 반복한다. ㄴ> 같아질 때 까지인 이유는 i와 h의 차이가 1일 때, 그것을 판별하고 i++(i += 1)가 실행되기 때문이다. 그래서 i = 5가 될 때 까지 *은 0~0, 0~1, 0~2, 0~3, 0~4번의 반복..
CS 50, SQL, JS 찍먹
2022. 6. 15. 20:19
Daily/일기
'근본'을 살짝이나마 챙기고 싶은 마음에, 가벼운 마음으로 여러 강의를 찍먹해보기로 했다. (어떤 놈인지 알고 있는 정도를 목표로 삼았다.) CS 50은 명강이라고 하도 소문이 나있어서, 들어봤다. 일단 재밌다. (선형탐색에서 숫자 한 번에 찾는게 너무 웃김) 들으면서 딱 들었던 생각이, '아 이게 현강이지' 했다. 하지만 강의의 원본이 고플 정도로 이 과정에서 들려주는 내용은 좀 빈약하다. (매우 짧다) 유튜브에 최신버전으로 영어자막이 달려 있으나, 스크래치, C언어, AI 등 아직 필요하진 않은 강의도 있고 무엇보다 다른 좋은 한국어로 된 CS강의가 많고 또, 들어야 할게 많이 밀려있기 때문에 일단은 끝냈다. 대부분의 CS 커리큘럼에 대한 개요, 전반적인 학습 주제에 대해 알 수 있었다는 점에서 상당..
학교 알고리즘 소모임에 가입했다.
2022. 6. 14. 15:59
Daily/일기
이미 백준에 많이 업로드 되어있는 세미나들이 있고, 문제집도 따로 문제를 반영해서 정리가 되어 있다. 이거 완전 노다지네... + 회장님도 친절하심 ㅎㅎ 슬랙도 운영하고 있고, 여러모로 공부하는 데에 도움이 많이 될 것 같다. 역시 손을 뻗어야 뭐가 잡히긴 하나보다.