일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- javascript
- json
- 다국어
- java
- Enumerable
- 동적프로그래밍
- 2xn타일링
- foreach
- Enumerator
- 1로만들기
- 백준11727번
- 백준알고리즘
- c#문법
- jquery
- DP
- 2x1타일링
- 동적계획법
- 백준
- 알고리즘풀이
- i18n
- c#
- IEnumerable
- Atar알고리즘
- A*알고리즘
- IEnumerator
- 백준11726번
- yield
- html
- cocoscreator
- 알고리즘
- Today
- Total
목록분류 전체보기 (9)
Memento's Programming
이전에 포스팅한 A*알고리즘 프로그램에 대한 사용 방법이다. 전체 소스는 깃허브에 있다. This relates to the A*algorithm previously posted. I have made A* Algorithm with cocos creator and the whole sauce is in the github. https://github.com/MoonJiHyun/AStarTest

1. A* 알고리즘을 활용한 간단한 예제 우리는 예제에서 diagonal을 사용할 것입니다. 또한 대각선의 가중치와 가로 세로의 가중치는 동일하게 적용합니다. 그렇다면 A* 알고리즘에서 가장 간단한 예로 시작해보겠습니다. 먼저 10 * 10 크기의 캔버스를 하나 만들었습니다. 우리는 이 캔버스 위에서 탐색을 합니다. 왼쪽 빨간색 사각형은 Start 노드이고 오른쪽 파란색 사각형은 End 노드입니다. 또한 가운데 검정색 사각형 세개는 벽이며, 벽을 통과할 수는 없습니다. 다음의 순서를 참고하세요. 이해가 안간다면 그냥 넘어가도 좋습니다. 밑에서 자세하게 설명하겠습니다. 1. 시작지점 A를 open list에 넣습니다. 2. 아래의 과정을 반복합니다. a ) open list에 포함된 노드들 중에서 F값(최..

BufferReader BufferedReader/BufferedWriter는 Buffer에 있는 IO 클래스이다. 버퍼를 이용해서 읽고 쓰는 함수로 입(출)력된 데이터가 바로 전달되지 않고 버퍼링 된 후에 전달되기 때문에 시스템의 데이터 처리 효율성을 높여준다. 버퍼스트림을 InputStreamReader, OutputStreamWriter를 같이 사용하여 버퍼링을 하게되면 입출력 스트림으로부터 미리 버퍼에 데이터를 가져다 놓기 때문에 보다 효율적인 입출력이 가능해진다. 하드디스크는 원래 속도가 느릴 뿐만 아니라 키보드, 모니터같은 외부 장치와의 데이터 입출력은 시간이 오래걸리는 작업이다. 버퍼링없이 키보드가 눌릴 때마다 문자를 바로 전송하는 것 보다 중간에 메모리 버퍼를 둬서 데이터를 한데 묶어서 이..
요즘 회사에서 다국어를 지원하는 웹을 개발하고 있다. 기존에는 서버를 호출하여 페이지를 뿌려주는 방식으로 개발하고 있었는데 (jsp사용) 최근에는 정적인 페이지로 바꾸면서 다국어 지원이 어려워졌다. 기존 다국어 관련 properties 파일 구조이다. ㄴ resources ㄴ messages.properties(default) ㄴ messages_ko.properties ㄴ messages_en.properties ㄴ messages_ja.properties ㄴ messages_zh.properties 각 프로퍼티 파일 안에는 다음과 같은 형태로 이루어져 있다. message.properties title=제목 message.hello=안녕 messages_en.properties title=title ..
오늘 프로젝트 개발 중에 서버에서 DB로 접속이 안되는 현상이 발생했다. 페이지 접속 시 502 Bad Gateway를 리턴했는데 알고보니 최근 DB 주소를 변경하면서 ACL에 추가가 되어있지 않게 된 문제였다. 사내에서 ACL신청 전에는 반드시 ping 테스트 혹은 텔넷 접속을 해야한다고 했는데 다음과 같이 cmd 창에 입력하면 된다. telnet db-host 3306 Trying ip...... Connected to db-host 이런 식으로 DB 호스트에 연결되었다고 응답이 와야하는데 현재 DB주소에 연결하면 다음과 같이 응답이 오지 않는다. telnet db-host 3306 Trying ip..... telnet으로 db에 연결 테스트를 해보는 것은 처음이라 잊지 않기 위해 기록한다.
[1] foreach의 기본 문법 foreach문은 배열 또는 컬렉션(ArrayList, Stack, Queue, Hashtable 등)들을 순회하면서 각 데이터 요소에 차례대로 접근할 수 있도록 해줍니다. 기본 문법은 다음과 같습니다. 1 2 3 4 foreach(데이터형식 변수명 in 배열 or 컬렉션) { // 코드 } 배열을 순회하는 foreach문을 예로 들어볼까요? 1 2 3 4 5 int[] arr = {1, 2, 3, 4}; foreach(int element in arr) { Console.WriteLine($"{element}" ); // 1 2 3 4 } 이렇게 foreach문은 for문보다 훨씬 편리하게 쓸 수 있습니다. 하지만 foreach는 아무 형식의 객체에서나 사용할 수 있지..
문제 2×n 크기의 직사각형을 1×2, 2×1, 2 x 2 타일로 채우는 방법의 수를 10007로 나눈 나머지를 출력하는 프로그램을 작성하시오. 풀이과정 이 문제는 지난 11726번 2xn 타일링 문제를 참고하면 좋을 것 같습니다. 단지 여기서 정사각형 모양의 2 x 2 타일이 추가된 것 뿐이지요. 지난 포스팅에서는 n = 3 일 때, n = 2 일 때 채웠던 방법들에 2 x 1 타일을 붙여주었습니다. 또한, n = 1 일 때 채웠던 방법들에 1 x 2 타일 2개를 정사각형 모양으로 붙여주었습니다. 여기서 우리는 추가로 n = 1 일 때 채웠던 방법들에 2 x 2 타일을 붙여줄 수 있습니다. 즉, n = 1 일 때 채웠던 방법들에 1 x 2 타일 2개를 붙여줄 수도 있고, 2 x 2 타일을 붙여줄 수 있..

문제 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 10007로 나눈 나머지를 출력하는 프로그램을 작성하시오. 풀이과정 이 문제 역시 DP로 풀 수 있는 문제입니다. n = 1 일 때는 2 x 1 타일로 채우는 한 가지 방법이 있습니다. n = 2 일 때는 2 x 1 타일 2개로 채우거나, 1 x 2 타일 2개로 채우는 방법이 있겠지요. 그럼 n = 3 일 때는 어떨까요? n = 2 일 때 채웠던 방법들에 2 x 1 타일을 추가할 수 있을 것입니다. 또한, n = 1 일 때 채웠던 방법들에 1 x 2 타일 2개를 정사각형 모양으로 추가할 수 있습니다. 이런식으로 (n - 1) 일 때의 가짓수와 (n - 2) 일 때의 가짓수를 더하면 n일 때의 가짓수를 쉽게 구할 수 있습니다. 이를 ..