분류 전체보기 86

[BOJ, Python] 1935번 : 후위 표기식2

문제 후위 표기식과 각 피연산자에 대응하는 값들이 주어져 있을 때, 그 식을 계산하는 프로그램을 작성하시오. 입력 첫째 줄에 피연산자의 개수(1 ≤ N ≤ 26) 가 주어진다. 그리고 둘째 줄에는 후위 표기식이 주어진다. (여기서 피연산자는 A~Z의 영대문자이며, A부터 순서대로 N개의 영대문자만이 사용되며, 길이는 100을 넘지 않는다) 그리고 셋째 줄부터 N+2번째 줄까지는 각 피연산자에 대응하는 값이 주어진다. 3번째 줄에는 A에 해당하는 값, 4번째 줄에는 B에 해당하는값 , 5번째 줄에는 C ...이 주어진다, 그리고 피연산자에 대응 하는 값은 100보다 작거나 같은 자연수이다. 후위 표기식을 앞에서부터 계산했을 때, 식의 결과와 중간 결과가 -20억보다 크거나 같고, 20억보다 작거나 같은 입..

CS/BOJ 2022.06.02

[BOJ, Python] 11866번 : 요세푸스 문제 0

https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 문제 요세푸스 문제는 다음과 같다. 1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 이다. N과 K가 주어지면 (N, K)-요세푸스 순열을 구하는 프로그램..

CS/BOJ 2022.05.20

[CUDA] CUDA(.cu) to SSAS(GPU assembly) compilation with Visual Studio

CUDA는 NVCC(Nvida's CUDA Complier)를 사용해서 compile할 수 있습니다. NVCC를 통해 CUDA를 intermediate language인 PTX로 compile할 수 있는데, 이에 대한 방법은 아래 게시글에서 설명하였습니다. 2022.05.10 - [프로그래밍/CUDA] - [CUDA] Visual Studio 2022에서 .cu(CUDA 파일) ➡ .ptx(PTX 파일) 변환하기 [CUDA] Visual Studio 2022에서 .cu(CUDA 파일) ➡ .ptx(PTX 파일) 변환하기 졸업프로젝트를 하면서 CUDA language를 건들이게 되었습니다. 졸업프로젝트의 목표가 GPGPU 설계인데, GPGPU를 검증하려면 instruction을 넣어서 제대로 동작하는지 확..

CS/CUDA 2022.05.17

[CUDA] CUDA to PTX(intermediate language) compilation with Visual Studio

졸업프로젝트를 하면서 CUDA language를 건들이게 되었습니다. 졸업프로젝트의 목표가 GPGPU 설계인데, GPGPU를 검증하려면 instruction을 넣어서 제대로 동작하는지 확인해야합니다. 그런데 machine language를 직접 써서 넣을 수는 없으니 compiler를 통해서 변환하는 과정을 거쳐야합니다. CUDA syntax에 대해서는 따로 게시물을 만들 생각입니다. CUDA ➡ PTX ➡ GPU assembly ➡ machine language 이렇게 3번의 변환을 거쳐야 저희 조가 설계할 GPGPU가 알아먹는 machine language가 됩니다. 우선 Visual Studio에서 CUDA runtime project를 만들어 줍니다. 프로젝트를 만들면 위와 같이 default C..

CS/CUDA 2022.05.10

[BOJ, Python] 1157번 : 단어 공부

https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 문제 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. 입력 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다. 출력 첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다...

CS/BOJ 2022.04.30

[서평] 대학원생 때 알았더라면 좋았을 것들

아직 완독하지 않아서 와닿거나 기억하고 싶은 내용들을 기록했습니다. 영어 못해도 영어 논문 잘 읽는 법 p.67 ~ p.76 요즘 졸업프로젝트를 하면서 논문 읽을 일이 많아졌다. 당장 2주동안 GPU와 인공지능을 keyword로 논문리뷰와 발표를 준비해야한다. 저번주에 시험끝나고 논문을 한 편 읽었는데, 학부생 4학년따리가 논문을 읽으려고하니 요령도 없이 무식하게 읽기만하다 발표를 망쳐버렸다.. 그런 나에게 선배 연구자분들이 꿀팁을 준 챕터여서 기록하려고 한다. 대학원생은 그 누구도 영어의 벽을 피해갈 순 없다. 특히 최신 연구를 영어 논문으로 접해야하는 대학원생들이라면 정확한 영어 독해 실력은 필수이다. 석박사는 학문의 최전선에서 지식을 받아들이는 전문가를 지향하는 만큼 번역본이 나오기만을 기다려서는 ..

일상/서평 2022.04.29

[Python] 으뜸파이썬 6장 연습문제 20번 : list ➡ tuple, zip() 함수 활용

문제 학생의 이름과 국어, 수학, 과학 성적을 입력받아 아래 문제의 답을 출력하는 프로그램을 작성하라. 1) 튜플을 언패킹하여 수학과 과학 성적만 추출한 뒤, 학생별 수학과 과학 성적의 평균을 구하는 코드를 작성하라. 2) 위 튜플에 대하여 학생의 이름과 국어, 수학, 과학 성적의 평균 점수를 student_dic이라는 딕셔너리 구조에 넣은 후 다음과 같이 이름과 평균 성적을 출력하라. 입력 이름과 국어, 수학, 과학 성적을 입력하세요 : 박동규 88 95 90 강영민 85 90 95 박동민 70 90 80 홍승주 90 90 95 출력 학생들의 수학과 과학 성적의 평균은 각각 91.66점, 88.33점 입니다. 이름 평균성적 박동규 91.00 강영민 90.00 박동민 80.00 홍승주 91.67 풀이 실..

CS/Python 2022.04.21

[Python] 으뜸파이썬 5장 연습문제 20번 : 문자열 압축

문제 문자열 src가 'aaaabbb'와 같을 경우, 이를 압축하는 방법으로 'a4b3'와 같이 문자와 그 반복 횟수를 표시하는 방법이 있다. 문자열 'aaaabcccaaaaacccfg'은 'a4b1c4a5c3f1g1'으로 압축하는 코드를 작성하시오. 입력 src = 'aaaabbb' src = 'aaaabccccaaaaacccfg' 출력 output = 'a4b3' output = 'a4b1c4a5c3f1g1' 풀이 처음에 감을 못 잡아서 많이 헤맸던 문제입니다. 코드를 보고 나면 금방 이해가 되는 생각보다 간단한 문제였습니다. 핵심은 output[-1] 즉, ✔output의 맨 마지막 문자를 판별하는 것입니다. output[-1]을 계속 문자로 만들면서 src의 문자를 차례대로 비교합니다. src의 ..

CS/Python 2022.04.21

[BOJ, Python] 1763번 : 듣보잡

https://www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net 문제 김진영이 듣도 못한 사람의 명단과, 보도 못한 사람의 명단이 주어질 때, 듣도 보도 못한 사람의 명단을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. 이름은 띄어쓰기 없이 알파벳 소문자로만 이루어지며, ..

CS/BOJ 2022.04.21

[BOJ, Python] 13015번 : 별 찍기 - 23

https://www.acmicpc.net/problem/13015 13015번: 별 찍기 - 23 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. www.acmicpc.net 문제 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. 입력 첫째 줄에 N(2 ≤ N ≤ 100)이 주어진다. 출력 규칙대로 별을 출력한다. 예제 입력 1 2 예제 출력 1 ** ** *** ** ** 예제 입력 2 5 예제 출력 2 ***** ***** * * * * * * * * * * * * * * * * * * * * * * * * * * * ***** ***** 귀도 반 로섬에게 감사하며 풀었던 문제입니다. C나 java로 풀었다면 무수한 반복문을 써야할 것 같습니다..!! 어디서 홀수 개, 짝수 개가 나오는지만 체..

CS/BOJ 2022.04.20