본문 바로가기
728x90

전체 글83

[c++]백준 균형잡힌 세상(4949), stack, 반례모음 문제 https://www.acmicpc.net/problem/4949 스택으로 수식의 괄호쌍이 올바른지 확인하는 문제 문장에서 소괄호("()") 와 대괄호("[]")로 2종류가 올바르게 열리고, 닫혔는지 판단해야 함 반례모음 ([(]]) no ([)]). . no (())) . no [(()]). . no ( no ( . no 풀이 괄호만 저장하는 스택을 만든다 괄호가 열릴 때, "(" or "["만 스택에 저장한다. 닫힘 괄호가 들어올 때, 현재 스택의 top()이 해당 괄호랑 맞는 쌍인지 판단하고, 맞으면 pop으로 지워주고, 아니면 "no"를 출력한다. 또한, 스택이 비어있는 상태(empty)일 때에도 "no" 출력. 문장의 마지막 "."이 들어올 때, 스택이 비어있으면 "yes" 출력. 단, 스.. 2023. 7. 14.
[c++] cin.getline() vs getline() 및 cin.ignore() 정리 1. cin.getline(char 배열, 넣을 문자수) 넣을 문자 수만큼만 char 배열에 저장한다. 저장은 각각의 알파벳이 원소 하나하나에 할당됨. 공백도 같이 저장한다. (cin >> 은 공백 전까지 장, cin.getline()은 공백 포함 개행문자 전까지 저장) # 넣을 문자 만큼 받는다. 2. getline(cin, string) from #include getline()은 string에 정의되어 있으며, string 형의 문자열 저장. # getline(cin, string, ‘특정문자’) : 특정문자 전까지의 문자열을 받는다. ※ 주의사항, cin.ignore() 일반적인 cin >> a;와 같이 입력 받고, getline() 혹은 cin.getline()을 사용할 시에는 재대로 동작하지 .. 2023. 7. 14.
[Pytorch] torch kld-loss (KD-loss) 코드 일반적인 힌튼 KD loss 코드 import torch.nn as nn import torch.nn.functional as F KL_loss = nn.KLDivLoss(reduction='batchmean')(F.log_softmax(outputs/T, dim=1), F.softmax(targets/T, dim=1))*(alpha*T*T) outputs student model output (feature -> classifer 결과) shape : (batch size, class num) targets teacher model outputs (feature -> classifier 결과) shape : (batch size, class num) T (Temperature) 얼마나 지식을 부드럽게 .. 2023. 7. 14.
[c++] 백준 덱(10866) 문제 https://www.acmicpc.net/problem/10866 간단히 덱의 기본동작을 구현하는 문제이다. push_front X: 정수 X를 덱의 앞에 넣는다. push_back X: 정수 X를 덱의 뒤에 넣는다. pop_front: 덱의 가장 앞에 있는 수를 빼고, 그 수를 출력한다. 만약, 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다. pop_back: 덱의 가장 뒤에 있는 수를 빼고, 그 수를 출력한다. 만약, 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 덱에 들어있는 정수의 개수를 출력한다. empty: 덱이 비어있으면 1을, 아니면 0을 출력한다. front: 덱의 가장 앞에 있는 정수를 출력한다. 만약 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다. .. 2023. 7. 14.
[c++] 백준 회전하는 큐(1021) 문제 https://www.acmicpc.net/problem/1021 문제가 이해가 안됨. 보고 또 보고 이해함. 지민이의 큐는 저 위의 3가지 밖에 동작을 할 수 없다. 따라서, 무조건 첫 번째 원소만 뽑을 수 있고, 뒤에서 뽑을 수 없음 (덱의 구조상 뒤에서 삭제도 가능한데 이것을 생각하면 안됨. 이게 어떻게 덱 문제인지..? --> 자세히 보니 큐 문제이긴 한데, 뒤에서 삽입이 가능해야 하니 덱을 사용해야 한다. 자체적으로 조건을 걸어줘서 풀어야 하는 듯.) 또한, 1번의 연산은 count를 하지 않고, 2번과 3번만 count해야 한다. 그러므로 뽑고자 하는 원소를 최소한의 연산으로 큐의 앞쪽에 위치시키도록 하면 된다. 풀이 1. 덱에 인덱스 번호를 저장해서 초기화 해야 한다. 왜냐하면, 덱에 .. 2023. 7. 14.
Git 용어 정리(commit, stage, head, master, pull, push 등) #local repository( 로컬저장소 ) : git을 관리하는 메인 저장소, 모든 변영사항들을 저장 -> git init이라고 치면 생기는 .git폴더 #remote repository( 원격저장소 ) : Git Hub에 업로드하는 공간 #working tree ( 워킹트리 ) : 작업폴더에서 .Git을 제외한 나머지 폴더들, 작업 디렉토리, 작업 폴더라고 부름 #Git 저장소 : Git 명령으로 관리 가능한 폴더 전체를 말함. ( 워킹트리 + 로컬저장소 ) #GUI : 그래픽 인터페이스 #CUI : 커맨드 인터페이스 #Git Bash : CLI 방식으로 Git을 사용할 수 있는 환경 #커밋 : 버전관리릍 통해 생성된 파일, 즉 업데이트를 한다는 의미 #add(추가) : 커밋할 파일을 추가하는 행.. 2023. 7. 13.
Git 명령어 모음, Git 코드 정리, 간단히 한 줄 정리 Git 명령어 모음 git init : 현재 디렉토리에 .Git을 생성 ( 로컬저장소 생성 ), 초기화 과정이라고도 말함. git add 파일명(확장자까지) : 커밋할 파일을 add함으로써 stage에 올린다 git checkout 해시체크섬앞7자리 : 해당 버전으로 돌아간다 ( 시간여행 ), checkout은 포인터라고 생각하면 됨. git checkout 브랜치이름 : 특정 브랜치로 체크아웃할 때 사용합니다. 이름대신 커밋체크섬을 사용할 수도 있습니다. git checkout -b 브랜치이름 커밋체크섬 : 특정 커밋에서 새로운 브랜치를 생성하고 동시에 체크아웃까지 합니다. git remote add origin 원격저장소주소 :.. 2023. 7. 13.
Git 명령어(git init, git push, git remote, git pull 등) 그림 정리 이전 Git & Git-Hub란? 포스팅에서, git의 동작과정을 알아보았습니다. https://forward-gradually.tistory.com/19 Git & Git-Hub란? 개념 및 동작원리 설명 Git & Git-Hub란 무엇인가? Git & GtiHub를 써야 하는 이유 Git flow (동작과정) Git 명령어 forward-gradually.tistory.com 이번에는 git 명령어를 알아보겠습니다. 간단히, git 명령어를 통해 원격저장소(git-hub공간)과 로컬저장소(내컴퓨터공간)을 동기화 해주기 위함입니다. gti bash 프로그램을 설치해서 사용하면 아주 편리합니다. git 초기화, 로컬저장소(내컴퓨터공간) 생성 git remote, 원격저장소(git-hub 공간) 연동 gi.. 2023. 7. 13.
Git & Git-Hub란? 개념 및 동작원리 설명 Git & Git-Hub란 무엇인가? Git & GtiHub를 써야 하는 이유 Git flow (동작과정) Git 명령어 https://forward-gradually.tistory.com/20 Git 명령어(git init, git push, git remote, git pull 등) 정리 이전 Git & Git-Hub란? 포스팅에서, git의 동작과정을 알아보았습니다. https://forward-gradually.tistory.com/19 Git & Git-Hub란? 개념 및 동작원리 설명 Git & Git-Hub란 무엇인가? Git & GtiHub를 써야 하는 이유 Git flow ( forward-gradually.tistory.com 2023. 7. 13.
[c++] 백준 큐(10845) 문제 정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여섯 가지이다. push X: 정수 X를 큐에 넣는 연산이다. pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 큐에 들어있는 정수의 개수를 출력한다. empty: 큐가 비어있으면 1, 아니면 0을 출력한다. front: 큐의 가장 앞에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. back: 큐의 가장 뒤에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. 입력 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 .. 2023. 7. 13.
[c++] 큐, STL<queue> First in First out 맨 먼저 입력 받은 값을 내보내게 됨. head는 배열의 첫번째를 가르키고, tail은 배열의 마지막 +1을 가르킴(입력을 받을 곳) push : 배열의 tail에 입력, tail++ pop : 배열의 head를 출력, head++ pop을 한다고 해서 공간이 없어지는게 아닌 그대로 남아 있는 형태이기 때문에, 고정된 배열의 공간에서 pop을 수행한 메모리는 사용하지 못하게 된다. 이를 보완하기 위해 원형 queue 등이 있음. 2023. 7. 13.
[c++] 스택 - 일반구현 vs STL<stack> First in Last out 구조. Last out 원소를 가르키는 pos 필요, pop시 pos-- 1. 일반구현 2. STL stack https://github.com/intlabSeJun/c-plus-coding-test/tree/master/5.%20%EC%8A%A4%ED%83%9D 2023. 7. 13.
728x90