백준 c++

    [C++] 10773번 : 제로

    https://www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 풀이 스택을 사용하여 정말 쉽게 풀 수 있는 문제입니다. 문제의 '가장 최근에 재민이가 쓴 수를 지우게 시킨다.' 문장에서 이를 가장 효율적으로 수행할 수 있는 자료구조로 스택을 생각할 수 있었다면 구현은 어렵지 않습니다. 내 코드 #include using namespace std; int main() { ios::sync_with_stdio(0); cin.ti..

    [C++] 1919번 : 애너그램 만들기

    https://www.acmicpc.net/problem/1919 1919번: 애너그램 만들기 두 영어 단어가 철자의 순서를 뒤바꾸어 같아질 수 있을 때, 그러한 두 단어를 서로 애너그램 관계에 있다고 한다. 예를 들면 occurs 라는 영어 단어와 succor 는 서로 애너그램 관계에 있는데, occurs www.acmicpc.net 풀이 11328번 Strfry 문제와 상당히 유사한 문제이다. 이 때 배열을 굳이 2개나 사용하지 않아도 1개로 해결할 수 있는 모범 풀이가 존재해 이번 문제도 한 가지 배열로 풀어봐야겠다고 다짐했으나.. 시간을 투자하여도 내 풀이에는 반례가 존재했다. 모범 답안을 보면 1개의 배열로 풀 수는 있으나 2차원 배열이기 때문에 1차원 배열 2개를 사용하는 것과 같다. 내 코드..

    [C++] 백준 11328번 : Strfry

    https://www.acmicpc.net/problem/11328 11328번: Strfry C 언어 프로그래밍에서 문자열(string)은 native한 자료형이 아니다. 사실, 문자열은 그저, 문자열의 끝을 표시하기 위한 말단의 NULL이 사용된, 문자들로 이루어진 문자열일 뿐이다. 하지만 프로그래 www.acmicpc.net 풀이 소문자 알파벳의 개수는 26개임을 이용하여 크기가 26인 배열을 만들고 첫 번째 문자열을 구성하는 문자들의 횟수를 배열에 저장할 수 있도록하고, 마찬가지로 두 번째 문자열을 구성하는 문자들의 횟수를 배열에 저장할 수 있도록 하여 비교하는 방식을 사용하였습니다. 풀면서도 더 효율적인 방법이 있을 것 같다는 생각을 하였는데 역시 존재했습니다. 내 코드 #include usin..

    [C++] 13300번 : 방 배정

    https://www.acmicpc.net/problem/13300 13300번: 방 배정 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 수학여행에 참가하는 학생 수를 나타내는 정수 N(1 ≤ N ≤ 1,000)과 한 방에 배정할 수 있는 최대 인원 수 K(1 < K ≤ 1,000)가 공백으로 분리되어 www.acmicpc.net 풀이 무언가 요구하는 것이 많아보이지만 차근차근 읽으면 쉽게 풀 수 있는 문제이다. 문제에서 대놓고 table 구조를 보여주어 2차원 배열을 쓸 것을 쉽게 생각해낼 수 있다. 코드 #include using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); int N, K, S, Y,cnt = 0; vec..

    [C++] 2577번: 숫자의 개수

    https://www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. www.acmicpc.net 풀이 문제에서 A,B,C는 1000보다 작다고 주어졌습니다! 1000^3은 10억으로 int의 범위 21억보다 작으니 int로 다뤄도 무방합니다~ 아이디어 자체는 정말 쉽습니다! 10으로 계속 나누는데 그 과정에서 나머지를 따로 count해주는 것입니다 내 코드 #include using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); int A, B, C; cin >> A >> B ..