-
[Spring] 싱글톤 패턴프로그래밍/Spring 2020. 3. 20. 22:06
싱글톤 패턴 애플리케이션이 시작될 때 어떤 클래스가 최초 한번만 메모리를 할당하고(Static) 그 메모리에 인스턴스를 만들어 사용하는 디자인패턴이다. 따라서 Main 파일에서 여러번 생성자가 호출되더라도 결국 하나의 객체(Bean)에 접근하게 되는 것이다. 싱글톤 패턴을 쓰는 이유 하나의 고정된 메모리 영역을 두고 인스턴스를 뽑아서 사용하기 때문에 메모리 낭비가 적다. 싱글톤으로 만들어진 클래스의 인스턴스는 전역 인스턴스여서 데이터공유가 쉽다. 싱글톤 패턴의 문제점 너무 많은 인스턴스가 생기면 결합도가 높아져 "개방-폐쇄 원칙" 을 위배하게 된다. Spring 으로 구현한 메인클래스를 예로 들어보자. 프로토 타입 패턴 싱글톤 패턴과 정반대 개념으로 각각의 객체를 메모리에 할당하여 사용하는 디자인 기법이..
-
BOJ 14395 : 4연산백준 문제풀이/GRAPH 2020. 3. 6. 15:56
풀이 문제 풀어보기 유사문제 2020/03/06 - [백준 문제풀이/GRAPH] - BOJ 12906 : 새로운 하노이 탑 BOJ 12906 : 새로운 하노이 탑 풀이 문제 풀어보기 BFS 유형 중에서 이런 STL 을 사용하는 경우가 별로 없어서 포스팅해봤습니다. 이 문제에선 Array, String, Map 함수들이 사용됩니다. 우선 map 을 보겠습니다. map '변수명'.. junco.tistory.com 코드 #include #include #include #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); long long st, end; cin >> ..
-
BOJ 12906 : 새로운 하노이 탑백준 문제풀이/GRAPH 2020. 3. 6. 14:22
풀이 문제 풀어보기 BFS 유형 중에서 이런 STL 을 사용하는 경우가 별로 없어서 포스팅해봤습니다. 이 문제에선 Array, String, Map 함수들이 사용됩니다. 우선 map 을 보겠습니다. map '변수명' 의 방식으로 사용되며 조금 어려울 수도 있는 함수입니다. 보통 bfs 에서 check[][] 라는 배열을 통해서 방문했던 위치를 파악합니다. 하지만 그게 좌표처럼 간단한 값이 아닌 경우 지금처럼 'aabbc' 라는 문자를 탐색했었는지?? 를 파악해야 하는 경우 map 함수가 사용됩니다. 그리고 이 문제에서는 그러한 key 값으로 array 이라는 배열을 사용했네요. 굳이 array 를 사용한 이유는 자료형과 크기를 확정 지을 수 있기 때문입니다. vector 의 경우..
-
[Python] 벌써 백준문제 풀어보기프로그래밍/Python & Ruby 2020. 3. 4. 15:05
프로그래밍을 공부하다 보면 한 번쯤 들어보는 단어 백.준. 아마 이미 알고 있으신 분들이 많겠죠!! 맞습니다 코딩 문제들을 푸는 사이트인데요 앞에서 두 개의 글만 보고 저희는 백준에 올라와있는 문제를 꽤 많이 풀 수 있게 됐습니다. https://www.acmicpc.net/problem/2557 2557번: Hello World Hello World!를 출력하시오. www.acmicpc.net 마치 RPG 게임의 시작 마을과도 같은 Hello World 이거 하나만 출력해주면 답이 해결됩니다. 우리는 이미 입출력을 할 줄 압니다. print("Hello World!") 너무 간단하게 첫 번째 문제가 해결됐습니다. ※ 제출방법은 왼쪽 상단에 을 클릭한후 언어를 Python 3 으로 ..
-
[Python] 출력편 심화학습프로그래밍/Python & Ruby 2020. 3. 4. 13:21
혹시 몰라서 간단하게 실습을 진행할 수 있는 파이썬을 실행하는 방법을 아래에 적어두었습니다. 더보기 시작 -> 탐색 창에서 python을 검색합니다. 아이콘을 클릭하면 cmd 창이 나오는데 여기서 간단한 코드 입력이 가능합니다. 1. 여러개 한 번에 출력하기 변수 x, y, z 를 출력하려고 한다면 print() 를 세 번 써야 했습니다. 하지만 이런 식으로 하면 공백을 기준으로 한 번에 출력이 됩니다. ( x=y=z=1 은 z 에 1을 넣고 y 에 z 를 넣고 x 에 y 를 넣는다는 의미로 결국 x, y, z 에 1을 넣었다는 의미입니다.) x = y = z = 1 print(x, y, z)# 출력 값 : 1 1 1 여기서 새로운 함수가 등장합니다. sep 는 구분하다(Separate)에서 따온 말입니..
-
[Python] 입력편 심화 학습프로그래밍/Python & Ruby 2020. 3. 4. 00:11
진짜 군더더기 없는 설명을 하고 싶었지만 입출력 만큼은 너무나도 중요하기에 sim hwa 학습을 준비했습니다. 레츠고 1. 정수로 입력받기 앞에서 말씀드렸다시피 input() 을 사용해서 입력을 받으면 무조건 string(문자열) 로 인식합니다. 예제를 보기전에 type( "변수명" ) 함수를 보겠습니다. type 함수는 () 안에 들어있는 변수의 자료형을 출력해줍니다. 정수면 'int', 실수면 'float', 문자열이면 'str' 이 출력됩니다. 이 함수를 통해서 저희가 입력받은 값이 어떠한 형태로 저장이되는지 확인해 봅시다. x = input()# 입력 : 100 type(x)# 출력 : 방금 입력받은 값을 확인해보니 str(문자열) 로 자료형이 정해졌습니다. 하지만 사칙연산을 하기위해서는 정수형이..
-
[Python] 비교 연산자, 논리 연산자, 조건문프로그래밍/Python & Ruby 2020. 3. 3. 16:25
아주 기초적인 프로그래밍 지식이 있으신 분들이라면 이해하실 수 있는 정도의 설명입니다. 군더더기 하나 없어서 필요한 개념마저도 없을 수 있는 설명이니 참고하시기 바랍니다. 그럼 설명 바로 시작합니다. 1. 비교 연산자 부등호의 개념은 모두 알고 있을 겁니다. 비교 연산자는 모두 TRUE 또는 FALSE라는 결괏값을 반환합니다. (주의 : 등호는 == 입니다) 2. 논리 연산자 NOT, AND, OR 의 세 가지 연산자를 알아봅시다. 모든 비교 연산자는 TRUE 또는 FALSE의 값을 반환합니다. NOT : 해당 값이 TRUE 라면 FALSE , FALSE 라면 TRUE AND : 두개의 데이터가 모두 참이라면 TRUE, 하나라도 거짓이라면 FALSE OR : 두개의 데이터중 하나라도 참이라면 TRUE, ..
-
[Python] 선언, 사칙연산, 입출력프로그래밍/Python & Ruby 2020. 3. 3. 15:30
아주 기초적인 프로그래밍 지식이 있으신 분들이라면 이해하실 수 있는 정도의 설명입니다. 군더더기 하나 없어서 필요한 개념마저도 없을 수 있는 설명이니 참고하시기 바랍니다. 그럼 설명 바로 시작합니다. 1. 선언 일반적인 언어에서 선언이라 하면 보통 어떤 자료형으로 선언할지 사용자가 결정합니다. 하지만 파이썬은 자료형을 결정해 줄 필요가 없습니다. 변수명과 값만 적어주면 스스로 자료형을 결정합니다. 그리고 계속해서 등장하겠지만, " # " 뒤에 등장하는 말들은 주석이라고 합니다. # 주석은 프로그래밍에 전혀 영향을 미치지 습니다. 소스코드의 설명을 하기 위해 사용합니다. 자료형의 간단한 설명은 밑에 접어두었습니다. 더보기 자료형은 정수형, 실수형, 문자형 등의 데이터의 형식을 의미합니다. 정수형(int) ..