분류 전체보기

    [MySQL] 프로그래머스 SQL 고득점 kit - SELECT문

    [MySQL] 프로그래머스 SQL 고득점 kit - SELECT문

    아래와 같은 테이블이 있다고 하자. 예제1) 모든 레코드 조회하기 SELECT * from animal_ins order by animal_id; 예제2) 역순으로 조회하기 SELECT NAME,DATETIME from animal_ins order by animal_id desc; 예제3) 아픈 동물 찾기 SELECT ANIMAL_ID, NAME from animal_ins where intake_condition = "Sick" order by animal_id; 예제4) 어린 동물 찾기 SELECT ANIMAL_ID, NAME from animal_ins where intake_condition != 'Aged' order by animal_id; 예제5) 동물의 아이디와 이름 SELECT ANIM..

    백준 [BOJ] 10217 : KCM travel

    백준 [BOJ] 10217 : KCM travel

    10217번: KCM Travel 각고의 노력 끝에 찬민이는 2014 Google Code Jam World Finals에 진출하게 되었다. 구글에서 온 초대장을 받고 기뻐했던 것도 잠시, 찬찬히 읽어보던 찬민이는 중요한 사실을 알아차렸다. 최근의 대세 www.acmicpc.net 조건이 있는 최단거리를 찾는 문제. 한 도시에서 다른 도시로 가는 최단 거리를 찾는 것이므로 이런 경우에는 다익스트라 알고리즘을 쓰는게 좋다고 알려져있다. 단순 dfs / bfs 를 사용하는 경우는 가중치가 모두 같은 경우이다. 방문했던 곳에서는 다시 탐색을 진행하지 않는 특성 탓이다. 시작점 ~ 방문해야 할 지점까지의 거리를 s라고 하자. 만약 가중치가 다른 상황에서 이미 방문했던 곳을 재방문했다고 해보자 재방문 했을 때 기..

    [Python 뜯어보기] 1. 파이썬은 어떻게 문장을 인식할까?

    [Python 뜯어보기] 1. 파이썬은 어떻게 문장을 인식할까?

    이 글은 문서를 참고했습니다. 처음 프로그래밍을 배울 때가 기억난다. Visual Studio 를 이용해서 C/C++ 을 배울 때였는데, 내가 선언한 변수들이 알록달록 예쁜 색으로 변하고, 논리적인 문장, 문단을 실시간으로 구분하는 프로그램이 너무 신기했다. 파이썬이 C 기반으로 만들어진 언어라는 점을 인식하면서 공부하다보니, 이런 기억들이 새록새록 떠오르면서, 프로그램이 문자,문장을 구분하고 인식하는 방법에 대해 궁금해졌다. 레퍼런스에는 아래와 같이 기술되어 있다. - BNF 문법 표기법?? : 배커스-나우르 표기법(Backus–Naur form) 이라고 불리며, 문맥 무관 문법을 나타내기 위해 만들어진 표기법이다. 컴퓨터가 글을 이해할 수 있도록 하는 기초적인 모델,, 같은 느낌이다. 검색해서 간단하..

    [Python 뜯어보기] 0. 파이썬을 공부하기로 결심한 이유

    [Python 뜯어보기] 0. 파이썬을 공부하기로 결심한 이유

    근래 일주일 동안 많은 고민들이 있었다. 하루종일 컴퓨터 앞에 앉아 공부만 하다보니, 방향성 없이 무턱대고 공부만 하는듯한 불안감이 생겼다. 어떤 방향으로 진로를 구체화 시켜야할까. 내가 정말 좋아하고, 즐겁게 오래 공부할 수 있는 분야가 무엇일까. 실제 현장에서 어떤 기술들이 요구되는지 학부생의 입장에서는 감이 오지 않았다. 그래서 취업 사이트에 올라와 있는 구인 글을 많이 보면서 정리해보려고 했다. 임베디드, 시스템 프로그래밍, 암호학 등 기계 느낌 나는 분야 웹 기반 소프트웨어처럼 사람에게 더 가까운 분야 빅데이터 처리 기법 / 알고리즘 개발 등의 연구분야 크게 이렇게 세가지로 나누어 보았다. ① 기계 느낌 나는 분야. - 리눅스 커널 같은 시스템 프로그래밍 같은 곳 - 직접적으로 메모리를 다루어야..

    백준[BOJ] 1707번 : 이분그래프 - BFS, DFS

    백준[BOJ] 1707번 : 이분그래프 - BFS, DFS

    1707번: 이분 그래프 입력은 여러 개의 테스트 케이스로 구성되어 있는데, 첫째 줄에 테스트 케이스의 개수 K(2≤K≤5)가 주어진다. 각 테스트 케이스의 첫째 줄에는 그래프의 정점의 개수 V(1≤V≤20,000)와 간선의 개수 www.acmicpc.net BFS, DFS를 연습하기 좋은 문제라는 생각이 든다. 처음에 이분 그래프의 개념을 아예 몰라서, 이진트리를 의미하는 줄 알고 한참 고생했다.... 그림으로 보면 이해가 빠르다. 아래와 같다. 인접한 정점을 다른 색으로 모두 칠할 수 있으면 이분 그래프이다. 이분 그래프의 특징 인접한 정점들을 다른 색을 구분할 수 있다. 순환할 수 있다.(2가지 색으로 구분 가능하면 된다.) 최대 이분 매칭 문제(Maximum Bipartite Matching Pr..

    이식성(Portability), 표준의 중요성!

    이식성(Portability), 표준의 중요성!

    백준 온라인 저지[BOJ]에서 10942번 문제를 풀던 중, 며칠에 걸쳐 '우연히' 알게 된 사실! bool dp[2001][2001]; // // 중략 // cout

    백준[BOJ] 1520번 : 내리막길

    백준[BOJ] 1520번 : 내리막길

    1520번: 내리막 길 여행을 떠난 세준이는 지도를 하나 구하였다. 이 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 한 칸은 한 지점을 나타내는데 각 칸에는 그 지점의 높이가 쓰여 있으 www.acmicpc.net 처음 문제의 이미지를 보자마자 깊이우선탐색/넓이우선탐색 문제일것이라는 생각이 들었다. 경로의 개수를 찾아야하는 이 문제에서는 DFS가 적합하다는 직감이 느껴졌다. 이 문제에서는 여러 종류의 경로가 서로 중첩되는 경우를 반드시 고려해야한다. 만약 BFS로 탐색을 진행하게 되면 가능한 모든 경로를, 같은 깊이로, 탐색을 진행한다. 이 때에는 (다른 깊이, 같은 지점)에서 만났을 경우를 처리하는 게 복잡하다고 생각된다. 이 글 쓰고 나서 시도해봐야겠다. DFS로 가능한 하..