본문 바로가기
반응형

분류 전체보기111

Javascript - JSON 데이터 조작하기. (배열과 객체) 1. JSON (JavaScript Object Notation) 이란 JSON의 키-값의 쌍으로 구성된 문자열 형태의 데이터 포맷입니다. 웹이 동작하기 위해서는 클라이언트와 서버 간의 끊임없는 데이터 전송이 필요합니다. 이때 정보를 담아서 주고받을 수 있는 형식 중 하나가 JSON입니다. 아래는 id, name, phone, type, childnode 라는 속성과 그에 대응되는 값으로 구성된 json tree의 예시입니다. var data = [{ "id": 1, "name": "Yong", "phone": "010-0000-0000", "type": "sk", "childnode": [{ "id": 11, "name": "echo", "phone": "010-0000-1111", "type": "k.. 2021. 11. 28.
객체 지향의 사실과 오해 - 1. 협력하는 객체들의 공동체 https://book.naver.com/bookdb/book_detail.nhn?bid=9145968 객체지향의 사실과 오해 객체지향에 대한 선입견을 버려라!『객체지향의 사실과 오해』는 객체지향이란 무엇인가라는 원론적면서도 다소 위험한 질문에 답하기 위해 쓰여진 책이다. 안타깝게도 많은 사람들이 객체지 book.naver.com 누구나 한 번 이상 들어봤거나 대충의 개념은 알고 있지만 상세히 설명해보라 하면 할 말을 잃게 만드는 객체 지향에 대해 알려주는 책입니다. 컴퓨터과학이 외국에서 온 학문이다 보니 명저라는 책들도 대부분 영어로 적혀 있는 경우가 많습니다. 인터넷 자료들도 주로 영어 문서이고 번역판으로는 이해가 잘 되지 않을 때도 종종 있지요. 이런 현실 속에서 개발자들이 꼭 읽어야 할 책으로 자.. 2021. 11. 15.
Java 입출력을 위한 BufferedReader / BufferedWriter 사용자로부터 입력을 받을 수 있는 간편한 방법으로 Scanner 클래스가 있지만 버퍼 용량이 작기 때문에 대량의 데이터를 처리할 때는 속도가 저하되는 문제점이 있습니다. 반면, BufferedReader/Writer 의 경우 버퍼 용량이 커서 대량의 데이터를 입출력할 때 용이하지만 조금 사용하기 까다로운 점이 있습니다. 입력받기 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.IOException; public static void main(String[] args) throws IOExcept.. 2021. 11. 14.
선택정렬, 버블정렬, 삽입정렬 1. 개요 1) 선택정렬 가장 간단한 정렬방법입니다. 6 3 4 5 1 2 리스트 중에서 최소값을 찾아 맨 앞에 위치시킵니다. 1 6 3 4 5 2 그리고 나머지 원소 중에서 다시 최소값을 찾습니다. 1 2 6 3 4 5 이를 n번 반복하면 1 2 3 6 4 5 1 2 3 4 6 5 1 2 3 4 5 6 정렬된 리스트를 얻을 수 있습니다. 2) 버블정렬 오른쪽 끝에서부터 최소값(왼쪽에서 시작할 경우는 최대값)을 거품이 올라오듯 보글보글 불러오는 방법입니다. 인접한 두 개 원소를 비교해서 작은 값을 땡겨오고 또 옆에 있는 놈과 비교해서 땡겨오고 하다보면 최소값이 리스트 시작점에 쌓이게됩니다. 3) 삽입정렬 길이가 1인 정렬된 리스트에 원소를 하나씩 추가하여 정렬된 리스트의 길이가 n이 되면 종료합니다. 2.. 2021. 11. 9.
스택과 괄호의 값 문제 : https://www.acmicpc.net/problem/2504 1. 개요 주어진 괄호들이 규칙에 맞는지 확인, 계산하는 문제입니다. 2. 고난과 역경 1) check () 우선 괄호의 짝이 맞는지 확인하기 위해 왼쪽 괄호를 하나씩 읽어와 스택에 추가합니다. 오른쪽 괄호를 만났을 때 스택이 비어있거나, 꺼내온 값이 왼쪽 괄호가 아니라면 규칙에 어긋나므로 0을 리턴합니다. 처음 완성한 check() 에는 " ( ( [ " 와 같이 왼쪽 괄호만이 들어왔을 때 그냥 통과시켜버리는 문제가 있었습니다. check가 규칙에 맞지 않는 녀석들을 통과시켜버리는 바람에 EmptyStackException 이 발생했습니다. for 문이 종료되었을 때, 스택에 값이 남아있다면 0을 리턴하는 문장을 추가하여 문제를.. 2021. 11. 4.
그리디 알고리즘? 1. 문제 기다란 다리가 있습니다. 다리가 낡아 여기저기 구멍이 나서 지나가는 사람들이 종종 물에 빠지곤 합니다. 다리의 구멍을 메우기 위해서 한 칸을 이동하는 데에는 1분이 걸립니다. 다만, 배를 타고 다리의 끝으로 이동할 경우 1분이 걸립니다. 구멍이 난 곳을 1, 멀쩡한 곳을 0으로 표시한 배열 bridge가 주어졌을 때, 다리를 보수하기 위해 이동하는데 걸리는 총시간을 구하십시오. 예) 아래와 같은 다리의 경우 현위치 0 0 0 0 0 1 1 배를 타고 이동하는데 1분 + 옆으로 한 칸 이동하는데 1분 총 2분이 소요됩니다. 2. 풀이과정 firstX lastX 0 0 1 0 0 1 0 0 0 위와 같이 처음 구멍이 난 곳을 firstX라 하고, 마지막으로 구멍이 난 곳을 lastX라 할 때, 배.. 2021. 11. 4.
반응형