#INFO 난이도 : BRONZE2 출처 : 1919번: 애너그램 만들기 (acmicpc.net) #SOLVE 애너그램 관계란 두 영어 단어의 철자를 바꾸어 같아지는 경우를 의미한다. 즉, 애너그램 관계가 되기 위해선 두 단어는 알파벳의 순서만 다를 뿐 알파벳의 종류와 수는 모두 동일해야 한다. 풀이는 간단하다. 첫 번째 단어의 알파벳 개수를 저장할 alpha1 배열과 두 번째 단어의 알파벳 개수를 저장할 alpha2 배열을 선언하여 각 단어의 철자의 수를 배열에 저장한다. int alpha1[26] = {0, }; int alpha2[26] = {0, }; int main() { string str1 = ""; string str2 = ""; cin >> str1; cin >> str2; for (in..
[C++] #3 생성자 (Construcotr) 포스팅에서 생성자 문법을 이용해 멤버에 값을 할당하는 방법에 대해 정리했다. 하지만, 이는 값을 "할당" 하는 것이지 "초기화"하는 것은 아니다. // 할당 int a; a = 10; // 초기화 int a = 10; 이번 포스팅 에서는 생성자에 멤버 초기화 리스트 (Member Initializer List) 문법을 이용해 클래스의 멤버에 값을 "초기화" 하는 방법에 대해 간략하게 정리해 보고자 한다. * 개인적인 공부 내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다. # 멤버 초기화 리스트 _ Member Initialier List 멤버 초기화 리스트의 사용 방법은 다음과 같다. 1. 생성자의 괄호 오른쪽에 콜론(:)..
#2 [C++] getter setter 함수 편에서 getter setter 함수를 이용해 private로 선언된 클래스의 멤버에 접근하는 방법에 대해서 소개했다. 하지만 아래 코드처럼 유니폼 초기화 (Uniform Initialization) 방식을 사용하지 못하고, public 필드에 선언된 함수를 이용해 우회해서 private멤버를 초기화 해야 하기에 코드도 길어지고 불편하다. Player warrior {"Warrior", 10, 100, 10, 20}; 이번 포스팅 에서는 이러한 불편함을 해소할 수 있는 생성자(Constructor) 문법에 대해서 정리해 보고자 한다. * 개인적인 공부 내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다. #1 생성자 _ Cons..
#INFO 난이도 : GOLD5 알고리즘 유형 : STACK 출처 : 6198번: 옥상 정원 꾸미기 (acmicpc.net) 6198번: 옥상 정원 꾸미기 문제 도시에는 N개의 빌딩이 있다. 빌딩 관리인들은 매우 성실 하기 때문에, 다른 빌딩의 옥상 정원을 벤치마킹 하고 싶어한다. i번째 빌딩의 키가 hi이고, 모든 빌딩은 일렬로 서 있고 오른쪽으 www.acmicpc.net #SOLVE Monotone Stack 개념을 이용하면 쉽게 문제를 풀이할 수 있습니다. Monotone Stack 이란, 뜻 그대로 Monotone(단조로운) Stack(스택) 이라는 의미로 스택을 오름차 혹은 내림차 순으로 유지시키는 방식의 스택입니다. 문제에 Monotone Stack 을 적용시켜 항상 스택을 내림차 순으로 유..
... 이전 포스팅 [C++] #1 클래스 (Class) 에서 은닉성(정보은닉)을 위해 접근 제어 지시자를 멤버변수는 private로 멤버함수는 public으로 설정한다고 공부했다. 이번 포스팅 에서는 getter setter 함수를 이용해 private로 설정한 멤버 변수에 접근하는 방법에 대해 정리 하고자 한다. *개인적인 공부 내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다. # getter setter 함수 앞에서도 이야기 했듯이, 보통 클래스의 멤버변수는 private로 멤버함수는 public으로 설정한다. class Player { private: string m_name; int m_level; int m_hp; int m_mp; int m_atk; publ..