전체 글

전체 글

    [백준][파이썬] 19637번 IF문 좀 대신 써줘

    19637번 : IF문 좀 대신 써줘 문제 게임 개발자인 밀리는 전투력 시스템을 만들어, 캐릭터가 가진 전투력을 기준으로 칭호를 붙여주려고 한다. 예를 들어, 전투력 10,000 이하의 캐릭터는 WEAK, 10,000 초과 그리고 100,000 이하의 캐릭터는 NORMAL, 100,000 초과 그리고 1,000,000 이하의 캐릭터는 STRONG 칭호를 붙여준다고 하자. 혼자서 게임을 개발하느라 매우 바쁜 밀리를 대신해서, 캐릭터의 전투력에 맞는 칭호를 출력하는 프로그램을 작성하자. 입력 첫 번째 줄에는 칭호의 개수 N (1 ≤ N ≤ 105)과 칭호를 출력해야 하는 캐릭터들의 개수 M (1 ≤ M ≤ 105)이 빈칸을 사이에 두고 주어진다. (1 ≤ N, M ≤ 105) 두 번째 줄부터 N개의 줄에 각..

    [알고리즘] 이진 탐색(Binary Search) + 매개변수 탐색(Parametric Search)

    이진 탐색 반으로 쪼개면서 탐색하는 방법으로, 데이터가 정렬되어 있는 배열에서 사용할 수 있는 알고리즘이다. 탐색 범위를 절반씩 좁혀가며 데이터를 탐색하는 특징을 가지고 있다. 따라서 위치를 나타내는 변수 3개를 사용하는데 탐색하고자 하는 범위의 시작점, 끝점, 중간점을 변수로 가진다. 이진 탐색은 찾으려는 데이터와 중간점에 있는 데이터를 반복적으로 비교하며 탐색해 나간다. 시간 복잡도는 한 단계 거칠 때마다 확인하는 원소가 평균적으로 절반씩 줄어드므로 빅오 표기법에 의해 O(logN)이다. 코딩 테스트에서 단골로 나오는 문제이므로 외우는 것을 추천하며 보통 탐색 범위가 큰 상황에서 사용된다. 탐색 범위가 2000만을 넘어가면 이진 탐색 접근을 권한다고 한다. 구현 방법 1 : 재귀 함수 def bina..

    [백준][파이썬] 11729번

    2161번 : 카드1 문제 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 옮기려 한다. 한 번에 한 개의 원판만을 다른 탑으로 옮길 수 있다. 쌓아 놓은 원판은 항상 위의 것이 아래의 것보다 작아야 한다. 이 작업을 수행하는데 필요한 이동 순서를 출력하는 프로그램을 작성하라. 단, 이동 횟수는 최소가 되어야 한다. 입력 첫째 줄에 첫 번째 장대에 쌓인 원판의 개수 N (1 ≤ N ≤ 20)이 주어진다. 출력 첫째 줄에 옮긴 횟수 K를 출력한다. 두 번째 줄부터 수행 과정을 출력한다. 두 번째 줄부터 K개의 줄에 걸쳐 두 정수 A B를 빈칸을 사이에 두고 출력하..

    [백준][파이썬] 15787번

    꼭 이진수끼리의 비트 연산을 하겠다고 하다가.. 멍고생했다 15787번 : 기차가 어둠을 헤치고 은하수를 문제 N개의 기차가 어둠을 헤치고 은하수를 건너려고 한다. 기차는 20개의 일렬로 된 좌석이 있고, 한 개의 좌석에는 한 명의 사람이 탈 수 있다. 기차의 번호를 1번부터 N번으로 매길 때, 어떠한 기차에 대하여 M개의 명령이 주어진다. 명령의 종류는 4가지로 다음과 같다. 1 i x : i번째 기차에(1 ≤ i ≤ N) x번째 좌석에(1 ≤ x ≤ 20) 사람을 태워라. 이미 사람이 타있다면 , 아무런 행동을 하지 않는다. 2 i x : i번째 기차에 x번째 좌석에 앉은 사람은 하차한다. 만약 아무도 그자리에 앉아있지 않았다면, 아무런 행동을 하지 않는다. 3 i : i번째 기차에 앉아있는 승객들이..

    [백준][파이썬] 2503번

    문제 정보문화진흥원 정보 영재 동아리에서 동아리 활동을 하던 영수와 민혁이는 쉬는 시간을 틈타 숫자야구 게임을 하기로 했다. 영수는 1에서 9까지의 서로 다른 숫자 세 개로 구성된 세 자리 수를 마음속으로 생각한다. (예: 324) 민혁이는 1에서 9까지의 서로 다른 숫자 세 개로 구성된 세 자리 수를 영수에게 묻는다. (예: 123) 민혁이가 말한 세 자리 수에 있는 숫자들 중 하나가 영수의 세 자리 수의 동일한 자리에 위치하면 스트라이크 한 번으로 센다. 숫자가 영수의 세 자리 수에 있긴 하나 다른 자리에 위치하면 볼 한 번으로 센다. 영수는 동아리의 규율을 잘 따르는 착한 아이라 민혁이의 물음에 곧이곧대로 정직하게 답한다. 그러므로 영수의 답들에는 모순이 없다. 민혁이의 물음들과 각각의 물음에 대한..

    [AI][AIDU ez] AIDU ez 3.0으로 AI 모델링 하기

    환경 구성 및 데이터 가져오기 실습 환경 'AICE 실습' 내 '나의 프로젝트' 카테고리 선택 https://aice.study/main '나의 프로젝트' 구성 기본정보 : Dashboard 조회 프로젝트 멤버 : 소스코드 공유 데이터 관리 : PC data 공유 소스 Viewer : 프로젝트 멤버별 작업공간 조회 분석 IDE : Jupyter lab 또는 AIDU ez 모델학습 : GPU 기반 모델학습 AIDU Jupyter lab : 코딩 기반의 데이터 분석 및 AI 모델 개발, Python/R AIDU ez : 코딩 없는 클릭 기반의 데이터 분석 및 AI 모델 개발 '분석 IDE' 의 'AIDU ez 빠른 생성' 으로 시작 PC 파일 업로드 시 조건 : .csv 파일, 컬럼명은 영어로 구성 데이터 ..

    [AI][About] AI 구현 프로세스

    AI 구현 프로세스 문제 정의 데이터 수집 탐색적 데이터 분석 및 전처리 AI 모델링 AI 적용 1. 문제 정의 1. 뜻 주로 비즈니스적인 성향을 지님 AI를 사용할 목적과 목표 세우기 어떤 방향으로 갈 것인지와 구체적으로 해야 할 것은 무엇인지에 관한 고민 2. AI를 적용할 수 있는 상황 데이터나 규칙이 복잡한 상황 → 인간이 프로그래밍 하기 어려워짐 다양한 형태의 데이터를 활용하는 상황 미지의 영역 연구가 필요한 상황 3. AI를 활용하는 방법 예측 : 데이터를 학습하고 규칙을 찾아 결과 예측 생성 : 텍스트, 음성, 사진, 동영상 등 생성 소통 : 답변과 질문 연출 자동화 : 최적화 인식 : 대상을 인지하고 상황 판단 2. 데이터 수집 1. 뜻 많고 깨끗한 데이터를 모으기 다양한 도메인의 데이터를..

    [AI] AI 이해하기 (AI에 대한 기본 개념, 머신러닝 학습 종류)

    AI를 어떻게 구현하고 연구하고에 앞서서 기본적인 용어들과 개념들, 사례들을 정리해보았다 흔히 듣는 머신러닝, 딥러닝, OO학습 등에 대해 다루었다 AI에 대한 기본 개념 1. AI vs 머신러닝 vs 딥러닝 인공지능 : AI, 인간의 지적 능력을 모방하는 모든 기술 머신러닝 : 데이터를 스스로 분석하고 학습하여 판단하고 예측하는 기술 딥러닝 : 인간의 뇌와 유사하게 생긴 인공신경망을 만들고 알고리즘을 통해 정보를 학습하고 처리하는 기술 딥러닝 ⊂ 머신러닝 ⊂ 인공지능 2. 기계학습의 정의 AI는 데이터를 바탕으로 지속적으로 학습하여 오차를 최소화하는 방향으로 발전한다. 이때 기계의 성능이 향상되는 기술이 머신러닝인데 주어진 데이터를 반복하여 학습함으로써 도달한다. 사람이 하는 일은 적절한 머신러닝 기법..

    [백준][파이썬] 3085번 사탕 게임

    3085번 : 사탕 게임 문제 상근이는 어렸을 적에 "봄보니 (Bomboni)" 게임을 즐겨했다. 가장 처음에 N×N크기에 사탕을 채워 놓는다. 사탕의 색은 모두 같지 않을 수도 있다. 상근이는 사탕의 색이 다른 인접한 두 칸을 고른다. 그 다음 고른 칸에 들어있는 사탕을 서로 교환한다. 이제, 모두 같은 색으로 이루어져 있는 가장 긴 연속 부분(행 또는 열)을 고른 다음 그 사탕을 모두 먹는다. 사탕이 채워진 상태가 주어졌을 때, 상근이가 먹을 수 있는 사탕의 최대 개수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 보드의 크기 N이 주어진다. (3 ≤ N ≤ 50) 다음 N개 줄에는 보드에 채워져 있는 사탕의 색상이 주어진다. 빨간색은 C, 파란색은 P, 초록색은 Z, 노란색은 Y로 주어진다. 사탕..

    [스프링 핵심 원리] Section1. 객체 지향 설계와 스프링

    인프런 김영한 스승님의 두번째 커리큘럼 시작 !! 자바 진영의 추운 겨울과 스프링의 탄생 자바당 최고 기술 EJB 비용적 부담이 큼 의존적이라 객체 지향 프로그래밍 불가 어렵고 복잡하고 느림 스프링 EJB 컨테이너 대체 단순함의 승리 현재 사실상 표준 기술 하이버네이트 EJB 엔티티빈 기술 대체 JPA 새로운 표준 정의 EJB 엔티티빈 ⇒ 하버네이트 ⇒ JPA JPA 실용성과 표준의 안정성을 갖춘 JPA 탄생 스프링이란? 필수 스프링 프레임워크 - 가장 중요 스프링 부트 - 모든 기술을 편리하게 사용하도록 선택 스프링 데이터 - JPA를 주로 사용, CRUD를 편리하게 스프링 세션 - 세션 기능을 편리하게 스프링 시큐리티 - 보안 관련하여 스프링 Rest Docs - 문서를 편리하게 스프링 배치 - 배치..