💻 개인공부 💻 100

백준) - 1로 만들기(재귀함수) / C++

문제 출저 입니다. https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 사고의 흐름 일단 규칙성을 찾기 위해 1부터 15까지의 경우의 수를 찾아 보았다. 모든 경우의 수를 찾고 그 중 횟수의 최솟값을 찾는 방법을 사용하였더니 가지 치기 방법과 관련하여 고민하였다. 하지만 가지치기로 생각을 하니 숫자가 점점 더 커지면 경우의 수는 기하급수적으로 늘어났다. 즉 틀린 방법이었다. 다른 방법을 고민하다가 규칙성을 발견하였다. 예를 들면 6은 6>>2>>1이 최솟값인데 12를 보면 12>>6>>2>>1이 최솟값이기 때문이다. 즉, 6이 반복됨을 발견할 수 있었다. 해결방..

백준) - 1로 만들기 (재귀함수) / JAVA

문제 출저 입니다. https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 사고의 흐름 일단 규칙성을 찾기 위해 1부터 15까지의 경우의 수를 찾아 보았다. 모든 경우의 수를 찾고 그 중 횟수의 최솟값을 찾는 방법을 사용하였더니 가지 치기 방법과 관련하여 고민하였다. 하지만 가지치기로 생각을 하니 숫자가 점점 더 커지면 경우의 수는 기하급수적으로 늘어났다. 즉 틀린 방법이었다. 다른 방법을 고민하다가 규칙성을 발견하였다. 예를 들면 6은 6>>2>>1이 최솟값인데 12를 보면 12>>6>>2>>1이 최솟값이기 때문이다. 즉, 6이 반복됨을 발견할 수 있었다. 해결방..

[C++] 객체 지향을 이용한 c++ 프로그래밍

1. Rectagle이라는 클래스를 지정해야 함 2. Rectangle클래스 안에 width와 height라는 정수형 지역 변수 설정 필요 3. 클래스 안에 getArea()라는 메소드를 설정 필요 4. getArea()는 width*height 값을 return하도록 코드 설계 필요 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 31 32 33 34 35 36 37 38 39 #include using namespace std;//std를 계속 쓰는 것을 막기 위해 사용 class Rectangle {//Rectangle이라는 클래스 선언 public://접근 권한을 public으로 설정 int width..

프로그래머스) - 더 맵게 (우선순위 큐)

문제 출처 입니다. https://programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 몇일동안 잡고 끙끙대면서 노력했지만 아무래도 왜 틀렸는데 이해가 안된다. 왜 틀렸는지 언젠가는 발견할 수 있으면 좋겠다. (↓오답 풀이입니다....ㅠㅠ) 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 31 32 import java.util.*; class Test { public ..

JAVA - 배열의 크기/길이를 줄일 수 있을까?, 배열 길이 축소

정답은 줄일 수 없다! 배열이 한 번 생성이 되면 그 배열의 크기를 변경할 수 없다. 대신 새로운 배열에 기존의 배열의 요소들을 복사하여 크기를 조정할 수는 있다. 1. Arrays.CopyOf 메서드 Arrays.CopyOf(내가 복사하려는 배열, 줄이고 싶은 배열의 크기) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 import java.util.Arrays; public class Arraysize { public static void main(String[]args){ int []arr={1, 2, 3, 4, 5}; arr = Arrays.copyOf(arr, arr.length-1); for(int i=0;i

개인) - 단순선택을 이용한 알고리즘 정렬

단순 선택 정렬 : 가장 작은 요소부터 알맞은 위치로 옮겨서 순서대로 정렬하는 알고리즘 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 31 32 33 34 package Mine; import java.util.Scanner; public class Sort { public static void main (String []args){ Scanner scan=new Scanner(System.in); System.out.println("배열의 크기를 입력하세요 :"); int num=scan.nextInt(); int []arr=new int[num]; for(int i=0; ics

프로그래머스) - 탑(Stack/Queue)

문제 출처입니다. https://programmers.co.kr/learn/courses/30/lessons/42588 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 스택/큐 영역에 있어서 스택으로 풀어야 할 것 같았지만 보자마자 배열이 생각나서 배열로 풀어보기로 했다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 package Programmers; class Solution { public int[] solution(int[] heights) { int[] answer = new int[h..

[웹 기초] 웹 개발을 위한 프론트엔드 VS 벡엔드 용어 정리

(ps. 추가로 더 필요하거나 부족한 부분 댓글로 알려주시는 분~!! 감사합니다 바로 고치겠습니다) 기준 프론트 엔드 Front End 백 엔드 Back End 사용하는 언어 용어 Client 고객 요청 Server 서버 응답 프레임워크/라이브러리 주로 사용하는 에디터 기능 Binding(프론트 내에서의 작용) Mapping(프론트와 벡 사이의 작용)

[웹 오류] The port 8080 is already in use

웹 서버를 구축하다 보면 가끔씩 The port 8080 is already in use라는 오류 메시지를 보게 됩니다. 이런 상황을 해결하기 위해선 어떻게 해야 할까요? 1. cmd 창을 열고 netstat- ano를 입력합니다. 2. 입력하시면 차례대로 프로토콜, 로컬주소, 외부주소, 상태 그리고 PID가 나오게 됩니다. 여기서 로컬주소가 8080인 줄을 찾고 그 줄에 맞는 PID를 찾습니다. 3. 그리고 커맨더 창에 taskkill /f /pid PID를 입력하시면 이미 사용 중인 포트를 죽일 수 있습니다. 4. 다시 웹 서버를 실행하면 성공적으로 빌드가 됩니다.

[JAVA] JDBC 연동 - 3. JAVA와 DATABASE 연동 예제 및 소스코드

JAVA와 DATABASE 연동하기 마지막 편 입니다. 첫 번째 글에서는 필요한 프로그램 설치에 대해서, 두 번째 글에서는 데이터를 입력하는 방법에 대하여 다루어 보았습니다. 세 번째 글에서는 입력한 데이터를 JDBC를 이용하여 데이터베이스와 연동시켜 보겠습니다. 1. eclipse실행 2. 아래의 소스코드를 eclipse에 입력합니다. Server Host: localhost Port: 5432 Database: bbs User name: postgres password: ***** 칼럼: text, content 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 import java.sql.Connection; import java.sql.Dr..