* 개인적인 공부 내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다. 다음 포스팅은 BaaaaaaaaarkingDog님의 실전 알고리즘 강좌 0x09강-BFS 내용을 공부한 뒤 개인적인 공부 기록 용도로 다시 정리한 글 입니다. 내용 출처 : BaaaaaaaarkingDog | [실전 알고리즘] 0x09강 - BFS (encrypted.gg) [실전 알고리즘] 0x09강 - BFS 안녕하세요 여러분, 드디어 올 것이 왔습니다. 마음의 준비를 단단히 하셔야 합니다.. 드디어 실전 알고리즘 강의에서 첫 번째 고비에 도달했는데 이 강의와 함께 이번 고비를 잘 헤쳐나가면 좋 blog.encrypted.gg 문제 출처 : 1926번: 그림 (acmicpc.net) 1926번: 그림..
#INFO 난이도 : SILVER5 출처 : 1475번: 방 번호 (acmicpc.net) #SOLVE 아스키코드를 적절히 사용하면 풀이할 수 있는 간단한 배열 문제였다. 0 ~ 9 번 방 까지의 번호의 개수를 저장할 room 배열을 선언한다. int room[10] = {0, }; 다음으로 문자열로 방번호를 입력받아 필요한 번호판의 개수를 room 배열에 저장한다. 단, 6번과 9번은 뒤집어서 사용할 수 있기에 따로 처리한다. for (int i = 0 ; i < n.length() ; i++) { room[n[i]-48]++; } int sixNine = (room[6] + room[9] + 1) / 2; room[6] = sixNine; room[9] = sixNine; 마지막으로 room 배열을 ..
#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..