일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준
- 5622
- 해바
- Parenthesis
- 2941
- 균형잡힌 세상
- 시스템 프로그래밍
- LJESNJAK
- 전자책
- c
- QA
- Process Communication
- Zero That Out
- The Balance of the World
- File 조작
- 4949
- Baekjoon
- For Beginners
- 브런치
- 입력 버퍼
- file IO
- 바샤
- system programming
- IT
- c++
- BAKA
- 1874
- process control
- 10773
- 시프
- Today
- Total
목록전체 글 (52)
해바
문제 https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 문제 세계는 균형이 잘 잡혀있어야 한다. 양과 음, 빛과 어둠 그리고 왼쪽 괄호와 오른쪽 괄호처럼 말이다. 정민이의 임무는 어떤 문자열이 주어졌을 때, 괄호들의 균형이 잘 맞춰져 있는지 판단하는 프로그램을 짜는 것이다. 문자열에 포함되는 괄호는 소괄호("()") 와 대괄호("[]")로 2종류이고, 문자열이 균형을 이루는 조건은 아래와 같다. 모든 왼쪽 소괄호("(")는 오른쪽 소괄호(")")와만 짝을 이룰 수 있다. 모든 왼쪽 대괄호("[")는 오른쪽 대 www.acmicpc.net 풀이 문제 설명이 구체적이지 않아 어디가 문제인지 모르겠는 문제. '균형'이란 것의 정의가 모호해서 나의 경우 처음에는 ( )..
문제 https://www.acmicpc.net/problem/9012 9012번: 괄호 문제 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “( )” 문자열은 기본 VPS 이라고 부른다. 만일 x 가 VPS 라면 이것을 하나의 괄호에 넣은 새로운 문자열 “(x)”도 VPS 가 된다. 그리고 두 VPS x 와 y를 접합(conc www.acmicpc.net 풀이 벡터도 써봤다, 동적 배열도 써봤다, 50짜리 고정 배열도 써봤다, 아예 스택 구조를 안 쓰는 등 삽질을 많이 했다. 문제를 보고..
https://marell.tistory.com/1 입력버퍼 비우기 [Visual Studio 2015버전] 숫자를 입력한 뒤 Enter키를 누르게 되면, 다음에 입력받는 단계를 건너뛰는 경우가 발생한다. #include"stdio.h" #pragma warning(disable : 4996) void main(){ int num1, n.. marell.tistory.com 변수에 값이 저장되기 전에 입력 버퍼에 값이 씌여짐.
문제 https://www.acmicpc.net/problem/10773 불러오는 중입니다... 풀이 1. Linked List Stack 구조를 사용하는 방법 #include "cstdio" class NODE { friend class Stack; private: int m_data; NODE* prev, *next; public: NODE(); NODE(int); }; NODE::NODE() : m_data(0), prev(NULL), next(NULL) {} NODE::NODE(int data) : m_data(data), prev(NULL), next(NULL) {} class Stack { friend NODE; private: int count; NODE* head, *tail; public..
문제 https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 않은 명령이 주어지는 경우는 없다. www.acmicpc.net 풀이 풀고 나서 다른 사람 풀이를 봤더니 대체로 그냥 통짜 배열로 처리해서 허탈했던 문제. 난 왜 Linked List까지 쓰면서 구현했는가.. 사실 C코드이기 때문에 구조체를 써서 만들면 되지만 클래스 형태로 짜면 어떻게 만들어야 할까 궁금해서 이렇게 해봤다. 문제에서 요구하는 push X, pop, top, size, empty 명령어..
결론부터 말하자면 C의 입출력 함수들은 C++의 입출력 함수들보다 빠르다. getchar > scanf > std::cin 백준 온라인 저지의 속도 비교 자료 입력속도 비교 출력속도 비교 중간에 C++이 끼어있는 것에 대해선 여기를 읽어보면 되고, 더 자세한 것은 sync with stdio 로 구글링하면 나온다. 이걸 적용한 것이든 하지 않은 것이든 C++ 입출력 함수의 문제는 여기에서 설명하듯, C의 I/O method보다 느린 속도 멀티쓰레드 사용 불가 scanf, printf 등 C 입출력 함수와의 혼용시 문제 발생 가능성 엄밀히 따지면 일종의 편법인 방식 등이 있다. 그러니까 불편하고 cin >> 하고 입력하는 것에 비해 %d, %c, %lf ... 까다롭게 느껴지더라도 C 스타일에 적응하자. ..
문제 https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때문에 그룹 단어이지만, aabbbccb는 b가 떨어져서 나타나기 때문에 그룹 단어가 아니다. 단어 N개를 입력으로 받아 그룹 단어의 개수를 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 처음 실행했을 때 또는 처음 입력하는 단어의 경우 이상하게 세는 경우가 있었지만, 코드만 봐선 이상이 없어 보여 대수롭지 않게 넘겼다. 이게 굉장히 잘못된 판단이었다. 원래는 scanf(..
문제 https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 문제 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= 예를 들어, ljes=njak은 크로아티아 알파벳 6개(lj, e, š, nj, a, k)로 이루어져 있다. 단어가 주어졌을 때, 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다. dž는 무조건 하나의 알파벳으로 쓰이고, www.acmicpc.net 풀이 이전 문제들처럼 배열을 쓰지 않고 해 보려고 고집을 부려서 삽질을 정말 많이 했다. 일일이 조건을 만들다가, c, d..