본문 바로가기 메뉴 바로가기

동찬 코드 일지

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

동찬 코드 일지

검색하기 폼
  • 분류 전체보기 (90)
    • 개발자 성장 (5)
    • 자바스크립트 (19)
    • 자바 (8)
    • 백엔드 (1)
    • 프로젝트 (10)
      • 파일 내용 탐색 프로그램 (7)
      • 민원 처리 웹 서비스 (3)
    • C++ (11)
      • 자료구조 알고리즘 (4)
      • 알고리즘 문제 (1)
    • 파이썬 (30)
      • 그리디 (3)
      • DP (4)
      • 그래프 (6)
      • 다익스트라 (6)
      • 삼성 SW 역량 테스트 기출 문제 (2)
      • 완전탐색 (4)
  • 방명록

전체 글 (90)
추상 자료형 Abstarct Data Type

ADT란 - 순수하게 기능이 무엇인지 나열한 것 예) 자판기의 ADT 동전의 삽입 상품 선택 상품 제공 거스름돈 추출 정리해보면 이와같이 원리와 기능의 완성과정을 언급하지 않고 순수하게 사용자 관점에서 기능이 무엇인지 나열한 것 실제 코드 예시 int PutMoney (int coinNum, int billNum) - 인자로 coinNum과 billNum 전달 - 넣은 만큼 지불한 돈 증가 # 자료 구조를 구현 할 때의 과정 순서 1. 자료구조의 ADT 정의 2. ADT를 근거로 해당 자료구조를 활용하는 main 함수 정의 3. ADT를 근거로 리스트를 구현 ADT가 무엇인지 간단히 정리하여 보았다. 정확히 어떠한 개념인지 아직까지는 크게 와닿지는 않지만, 자료구조를 학습하면서 동시에 ADT 계속 정의함..

C++/자료구조 알고리즘 2023. 10. 16. 21:36
5일차 태그 기능 추가

이전 까지만 하면 단순히 기능의 구현을 중점적으로 생각하였다. 주어진 핵심 조건은 1. 파일을 생성하여 자료를 저장하는 기능을 추가하고 저장시 해시태그 또는 관련검색어 기능을 첨부하여 저장하는 기능 2. 해시태그 또는 관렴검색어가 포함된 저장한 자료를 다시 자료를 검색하여 출력하는 기능 현재 구현한 결과물은 조건의 핵심인 '해시태그' 기능이 들어가 있지 않고 단순히 파일의 내용만을 찾는 프로그램을 완성하였다. 전체적인 방향성은 잡혔지만 핵심 코드를 만들기 위해 수정해야겠다. 일단 함수화하여 프로그램을 작성하여 구현하였다. 첫번째로 파일을 생성하는 함수 구현 # 파일을 생성하는 함수 정의 def produce_file (name): file = open(name,"w+") # "w+ 속성으로 파일이 없으면..

프로젝트/파일 내용 탐색 프로그램 2023. 10. 16. 20:17
4일차 기능 추가 및 선택지 추가

동아리원 분은 코드를 함수화 시켜서 기능별로 구현 하고 있었다. 내가 전날 구현한 파일 내용 찾기 기능을 함수화 하였고 어제 생각한 기능을 추가하였다. 변경점. 1. 함수화 2. 기능 추가 ( 찾은 파일 개수, 파일명 종합하여 출력 + 찾은 파일이 없다면 결과값이 없습니다 알리고 return) # 코드 import os target_directory = input('검색할 디렉터리명 입력 : ') target_word = input("찾고자하는 키워드 입력 : ") def finder(target_directory, target_word): count = 0 find_list = [] for (path, dir, files) in os.walk(target_directory): # 경로 # 경로 내 디렉..

프로젝트/파일 내용 탐색 프로그램 2023. 10. 15. 17:43
하노이 타워 / 재귀

내가 재귀를 처음 배울 당시 재귀의 활용성과 유용함을 인지하지 못한 채로 학습하였다. 재귀의 특성을 잘 활용하기만 한다면, 매우 어렵고 복잡해 보이는 문제도 간결한 코드를 만들 수 있다는 것을 체감 하기 전까지 그랬었다. 하노이 타워는 그러한 재귀의 유용성을 직접 피부로 느낄 수 있게 되었다. 본격적으로 하노이 타워가 어떤 문제인지 살펴보자 '하나의 막대에 쌓여 있는 원반을 다른 하나의 원반에 그대로 옮기는 방법'에 관한 것이다. 3개의 막대 A, B, C가 주어져있을때 A에 꽂혀있는 모든 각각 크기가 다른 원반을 막대 C로 옮겨야 한다. 이때 제약조건이 있다. 1. 원반은 한번에 하나씩만 옮길 수 있다. 2. 작은 원반위에 큰 원반이 올 수 없다. 글로 설명하면 이해가 쉽지 않으니 그림을 첨부 하였다...

C++/자료구조 알고리즘 2023. 10. 14. 17:35
3일차 본격적인 코드 구현

전일차에선 단순 OS모듈을 직접 사용해보며 익히는 시간이 있었다. 하나하나 익히면서 하기에는 시간이 촉박하다. 내가 구현할 코드를 자세하게 기록하면서 해야겠다. 일단 내가 찾을 단어(패턴) 을 입력 받고 지정된 디렉터리도 직접 지정해주는 프로그램을 구상하였다. # 10월 14일 토요일 # 지정된 디렉터리에서 내가 찾고자 하는 단어를 입력할 시 그 단어가 포함되어있는 파일명을 출력하는 프로그램 # 일단 txt파일만 지원 target_directory = input('검색할 디렉터리명 입력 : ') target_word = input("파일내 찾고자하는 키워드 입력 : ") 일단 파일에 접근하려면 해당 디렉터리의 폴더를 찾아야 한다. 전에 OS모듈을 활용한 코드를 이용해보았다. os.walk 함수는 모든 하..

프로젝트/파일 내용 탐색 프로그램 2023. 10. 14. 14:05
달리기 경주 (프로그래머스 레벨1 C++) 스왑

https://school.programmers.co.kr/learn/courses/30/lessons/178871?language=cpp 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr C++을 이용하여 처음으로 푼 알고리즘 문제이다. 처음 접근 방법은 단순히 완전탐색을 이용하여 callings의 값을 가지는 players 의 인덱스 값을 찾은 뒤 바로 앞 인덱스 i - 1 과 i 를 스왑하는 방법으로 문제를 풀이 했다. vector solution(vector players, vector callings) { vector answer; int size ..

C++/알고리즘 문제 2023. 10. 13. 00:19
glob 모듈

프로젝트 2일차 파일의 내용을 찾기 위해서는 전에는 os모듈을 이용하여 간단한 파일의 내용을 출력하는 프로그램을 작성하였다. 단순히 파일의 내용을 출력하고 if문으로 검색하는 단순한 프로그램을 구현 하였다. 하지만 큰 문제점이 있었다. 내가 원하는 단어 및 문단을 찾을 수 없고 한 줄에 있는 문자가 모두 일치하는 것만 찾을 수 있었다. 그러던 중 glob 모듈은 패턴을 활용할 수 있어서 이 문제점을 바로 해결 할 수 있다고 생각하였다. glob 모듈은 패턴을 사용하여 현재 폴더(디렉토리)는 물론 하위 경로의 파일들을 검색할 때 사용할 수 있습니다. https://wikidocs.net/153155 위 사이트를 참고하여 glob 모듈을 사용하여 현재 폴더 내에 해당 패턴을 찾는 프로그램을 구현하여 보았다...

프로젝트/파일 내용 탐색 프로그램 2023. 10. 12. 23:05
Vector Container

STL라이브러리의 vector 컨테이너 학습 vector는 자동으로 메모리가 할당되는 배열이다. 배열 뒤쪽에 자료를 저장할 때는 push_back() 파이썬의 리스트 메소드 append() 와 동일하다 # vector 선언 // 선언 vector변수명; // 원소가 10개인 vector 선언 // 참고로 원소의 값은 기본값인 int 0 으로 자동으로 초기화 된다. vectora(10); vectora = {'a','b','c'} //2차원 벡터 선언 vectorv; # vector 메소드 및 활용 a.push_back(값); a.pop_back() 벡터의 원소를 출력하는 for문 vectora(10); // int형 a 변수명으로 원소10개 선언후 각 원소는 0으로 초기화 vectorarr = {1,3,..

C++ 2023. 10. 11. 21:29
표준 템플릿 라이브러리 STL

(STL: Standard Template Library) 교수님을 통하여 처음으로 접하게된 C++의 라이브러리이다. stl c++을 위한 라이브러리로써 다양한 라이브러리를 제공한다. C++를 잠시 미뤄두고 파이썬을 접했던 내가 파이썬에서 매력을 느낀 부분은 바로 리스트 자료형 이였다. C언어의 배열은 미리 개발자가 크기를 할당해주어야 하지만, 크기를 전혀 고려할 필요가 없으니 정말 편리하였다. 하지만, C++에서도 같은 기능을 가진 리스트를 활용할 수 있었다 STL의 vector 였다. #include #include int main() { int N = 10; // 여기에 적절한 값을 넣어주세요 std::vector line(N + 1, std::vector()); // 이제 line을 사용할 수 있..

C++ 2023. 10. 11. 20:13
Python을 활용한 파일 및 폴더 내용 찾기 1일차

23년 10월 11일 수요일 전공동아리에서 교수님이 개인 프로젝트를 던져 주셨다. 중요한건 본인이 얼마나 찾는지, 활용하는지의 여부 이고 프레임워크나 함수 라이브러리의 사용 제한이 없다. 파이썬 프로젝트 - 개발언어 : 파이썬(함수 적극적 이용 가능) - 내용(범위) : 파일 및 폴더 내용 찾기 ->자료 저장 시 해시태그 또는 관련 검색어 기능 추가하여 저장하는 기능을 파이썬으로 구현 ->추후 자료 검색시 관련 검색어 또는 해시태그 검색으로 자료를 검색하여 찾아냄 기간 다음주 까지 일단 파일 및 폴더의 내용을 찾는 프로그램을 만든후 QTpy5 라이브러리로 gui 까지 구현해보자고 생각하였다. 프로그램의 전체적인 그림을 그렸다. 파일 내용 찾기 프로그램 시작 검색할 파일의 내용을 입력하세요 입력 : 출력 ..

프로젝트/파일 내용 탐색 프로그램 2023. 10. 11. 19:10
이전 1 ··· 5 6 7 8 9 다음
이전 다음
공지사항
  • 3학년 2학기 기말고사 기간
  • 3학년 2학기 중간고사 기간
  • 프로필
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
  • Git hub
  • 백준
TAG
  • 완전탐색
  • 골드5
  • C++
  • 가중치 그래프
  • 프로젝트
  • 시뮬레이션
  • 파일 내용 찾기 프로그램
  • dp
  • 변수
  • 재귀
  • 그래프
  • os모듈
  • deque
  • 그래프 순회
  • 덱
  • 함수
  • 메모리
  • 자료구조
  • 파이썬
  • 브루트포스
  • Bottom-up
  • 다익스트라
  • 힙
  • 그래프 탐색
  • BFS
  • 알고리즘
  • 백준
  • dfs
  • JSON
  • javascript
more
«   2025/09   »
일 월 화 수 목 금 토
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
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바