전체 글
[백준 9012번-C++] 괄호
http://acmicpc.net/problem/9012 {코드} #include #include #include using namespace std; int main() { int n; string s, ans = ""; stack st; cin >> n; while (n--) { cin >> s; stack st; for (const char &c : s) { if (c == '(') { st.push(c); } else { if (!st.empty()) { st.pop(); } else { st.push('('); break; } } } if (!st.empty()) { ans += "NO\n"; } else { ans += "YES\n"; } } cout
[백준 9093번-C++/파이썬] 단어 뒤집기
http://acmicpc.net/problem/9093 {코드} #include #include #include using namespace std; int main() { int n; string s; stack st; cin >> n; cin.ignore(); while (n--) { getline(cin, s); s += ' '; for (const char&c : s) { if (c == ' ') { while (!st.empty()) { cout
<라즈베리파이> 2. SSH, VNC, DuckDNS(무료 DDNS) 설정하기
저번 라즈베리파이 글에서는 라즈베리파이를 조립하고 우분투를 설치하였습니다. 이 라즈베리파이를 바로 모니터와 연결해서 사용할 수 있지만 제 경우에는 계속 모니터의 입력을 바꿔야 하고 메인 컴퓨터에서 복붙 하는 게 안 돼서 SSH와 VNC를 통해 라즈베리파이에 접속하기로 마음먹었습니다. SSH란? SSH는 Secure SHell의 약자로 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행할 수 있도록 해 주는 프로토콜이다. 간단하게 말하면 외부에서 해당 컴퓨터의 터미널/CMD를 사용할 수 있는 것이다. 기본적으로 포트 22를 사용하며 암호화되어 있어 중간에 데이터를 가로채도 암호화된 문자만 노출된다. *참고: 생활코딩 SSH, 위키백과 우분투에서 SSH를 활성화하려면 openssh-server를 설치하면..
[백준 10828번 - C++] 스택
http://acmicpc.net/problem/10828 {코드} #include #include #include using namespace std; int main() { stack s; int n, tmp; string st; cin >> n; while (n--) { cin >> st; if (st == "push") { cin >> tmp; s.push(tmp); } else if (st == "top") { if (!s.empty()) { cout
[파이썬] 네이버 날씨와 뉴스 자동화 - 이메일로 보내기
라즈베리파이를 구매한 이유 중 하나가 계속해서 켜놓을 컴퓨터가 있었으면 좋겠다는 마음이 컸습니다. 물론 의미 없이 켜놓진 않을 테니 뭔가를 해야 했는데, 전 서버 구축과 자동화를 전부터 해보고 싶어서 오늘은 그 일환으로 자동화 프로그램을 만들었습니다. 전 밖에 나갈 때 날씨 확인하는 것을 자주 까먹어 다시 집에 들어와 옷을 껴입는다던지 우산을 챙긴다던지 하는 일이 종종 생깁니다. 근데 아침마다 이메일은 확인을 꼭 합니다.(미디엄에서 오는 뉴스레터가 꽤 흥미로운 내용이 많습니다.) 그래서 만약 이메일로 날씨와 뉴스가 전송된다면 어떨까?라는 생각을 했죠. 그렇게 해서 만들어진 것이 바로 MoT(Mail of Today) 입니다. 깃허브에 들어가서 코드를 보거나 다운로드하세요! 사용 언어: 파이썬 사용 라이브..
<라즈베리파이> 1. 라즈베리파이 4 구매 및 OS 설치
리눅스 사용도 해보고 서버도 열어볼 겸 라즈베리파이 4를 구매해봤습니다. 8GB 제품으로 구매를 했는데 팬이 생각보다 소음이 커서 다른 팬을 구매하거나 밤에는 서버를 끄든지 해야 할 것 같습니다.조용한 녹투아 팬을 구매했습니다. 맨 밑에 모델이 있습니다. 구매한 건 본체, 케이스, 마이크로SD카드, 카드 리더, MicroHDMI to HDMI 케이블입니다. 본체는 손바닥정도의 사이즈고 케이스 조립도 별로 어렵지는 않습니다. OS 설치는 라즈베리파이에서 제공하는 Raspberry Pi Imager로 SD카드와 USB를 포맷하고 OS를 깔 수 있습니다. 라즈베리파이 OS(구 라즈비안) 말고도 게임용 OS, 우분투 등의 OS도 지원합니다. 저는 64비트 OS를 사용하고 싶어서(라즈베리파이OS는 32비트) 우분..
[백준 19940번-파이썬/Python] 피자 오븐
http://acmicpc.net/problem/19940 {코드}for _ in range(int(input())): n = int(input()) buttons = [0]*5 sixties, tens, ones = n//60, (n % 60)//10, n % 10 if ones > 5: tens += 1 ones -= 10 if tens > 3: sixties += 1 tens -= 6 if tens = 0)] = abs(tens) buttons[4-(ones >= 0)] = abs(ones) print(*buttons){설명}먼저 각 버튼을 누를 횟수를 저장할 ..
[백준 19939번-파이썬/Python] 박 터뜨리기
http://acmicpc.net/problem/19939 {코드} def solution(): n, k = map(int, input().split()) sum_minimum = k*(k+1)//2 if sum_minimum > n: return -1 if (n-sum_minimum) % k == 0: return k-1 else: return k print(solution()) {설명} K개의 바구니에 들어있는 공의 개수가 1개 이상이며 전부 달라야 하기 때문에 공의 최솟값은 k(k+1)/2이다. 그림처럼 각 바구니가 순서대로 공의 개수가 결정된다면 전의 바구니보다 1개 더 많을 때가 최소이기 때문이다. 그렇다면 최솟값보다 공의 개수가 적으면 -1을 반환하면 된다. 공의 개수가 더 많을 경우 1부터 ..