전체 글

전체 글

    [C++] String

    string 클래스는 C++ STL(표준라이브러리)에서 제공하는 클래스이다. 문자열을 다루는 방법은 2가지가 있다. 1. char array을 이용하는 방법 2. string str 방식 C에서는 1 방식만 이용할 수 있고, C++에서는 2 방식을 주로 이용한다. C++에 들어가면서 string을 하나의 변수 type으로 사용할 수 있게 된 것이다. char 방식에서는 개행문자 '\0'을 고려하여 배열의 크기를 1만큼 추가해야 했지만 string에는 개행문자가 들어가지 않는다. 또한 문자열은 동적 할당이 가능하다. 선언 및 생성 #include ; ▶ string 헤더를 불러온다. string str; ▶ string type의 str 변수를 생성 string str = "hello"; ▶ string ..

    [C++] Vector Container

    Vector란 C++ 표준라이브러리(STL)에 있는 컨테이너(Container)이다. Vector를 생성하면 메모리 heap에 배열이 동적으로 할당된다. 스택과 같은 느낌이라고 생각하면 된다. (삽입과 삭제가 여러번 반복된다면 vector보다는 list, deque 자료구조를 사용하는 것을 추천) Vector 사용법 1. Vector 헤더를 include. 2. Vector 선언. - vector 변수이름 - ex) vectornumbers; Vector 생성 방법 vector v; ▶ 빈 벡터 생성 vector v(4); ▶ 0으로 초기화 되어 있는 4 크기의 벡터 생성 vector v(4, 2); ▶ 2로 초기화 되어 있는 4 크기의 벡터 생성 vector v = {1, 2, 3}; ▶ int형 벡터..

    [Python] 입국심사

    문제 참고 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 작성 def solution(n, times): answer = 0 min_value = -1 def binary_search(start, end, n, times, min_value): while start = n: if min_value == -1: min_value = mid else: min_value = min(min_value, mid) end = mid - 1 else: start = mid + 1 return min_value times.sort() end = times[-1] ..

    [Python] 순위

    문제 참고 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 작성 성공 #1 def solution(n, results): answer = 0 INF = int(1e9) graph = [[INF] * (n + 1) for _ in range(n + 1)] for a in range(1, n + 1): for b in range(1, n + 1): if a == b: graph[a][b] = 0 for r in results: graph[r[0]][r[1]] = 1 graph[r[1]][r[0]] = -1 for k in range(1, n + 1): f..

    [Python] 가장 먼 노드

    문제 참고 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 작성 실패 # 1 def solution(n, edge): answer = 0 INF = int(1e9) graph = [[INF] * (n + 1) for _ in range(n + 1)] for a in range(1, n + 1): for b in range(1, n + 1): if a == b: graph[a][b] = 0 for e in edge: graph[e[0]][e[1]] = 1 graph[e[1]][e[0]] = 1 for k in range(1, n + 1): for a i..

    자율주행 로봇 프로젝트

    2022년 4학년 1학기 졸업 작품으로 자율주행 로봇 프로젝트를 진행하였다. 관련 코드는 아래에 정리해두었다. GitHub - warning42/amvm_project Contribute to warning42/amvm_project development by creating an account on GitHub. github.com 프로젝트 수행 과정은 추후 게시할 예정

    [Python] n^2 배열 자르기

    문제 참고 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 작성 def solution(n, left, right): answer = [] cnt_l = left % n length = right - left + 1 k, cnt = 0, 0 while True: cnt += n if cnt >= left: break else: k += 1 leng = [i for i in range(1, n + 1)] for i in range(0, k): leng[i] = k + 1 for i in range(n): answer += leng if len(answe..

    [Python] 폰켓몬

    문제 참고 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 작성 def solution(nums): answer = 0 num_set = list(set(nums)) half_num = int(len(nums) / 2) if len(num_set) > half_num: answer = half_num else: answer = len(num_set) return answer - nums에 중복되는 폰켓몬을 제거하여 num_set에 저장 - half_num은 최대로 가져갈 수 있는 폰켓몬의 수이다. - 만약 nums의 중복이 적어 half_num보다 많..