본문 바로가기

STUDY

(19)
방송통신대학교 3학년 편입! 그리고 종강 올해 3월 방송통신대학교 컴퓨터과학과로 편입하였다. 회사를 다니면서 병행할 수 있을까 걱정했었는데 첫학기인만큼 조금 쉽다고 소문난 과목을 많이 들었는데도 정말 힘들긴 힘든 것 같다.. 아직 성적이 나오진 않았는데 기대가 되면서도 되지않고,,,,,^_^.... 느낀 점 1. 중간 출석수업은 코로나로 인해 비대면 zoom으로 진행하기때문에 주말에 참석해서 간단한 과제로 중간고사를 퉁치는게 좋다는 생각이 듬 2. 공부도 습관이다... 다음 학기부턴 몰아쳐서 과제하고 공부하기보다는 개강하자마자 과제체크하고 미리미리 하자.. 3. 힘들지만 편입하길 잘했다. 일할 때 배운 지식이 도움이 될때가 많고 생각이 넓어지는 기분 방학이니 행복하다~ 내 인생 대학을 두번다닐줄이야 하하~ 이제 코테를 위해 파이썬과 알고리즘을 ..
프로그래머스 코딩테스트 기록 [JAVA] - 1번 문제 : encrypted_text는 최종적으로 암호화된 문자열 key는 암호화에 사용되는 문자열 rotation은 문자열을 밀어넣는? 수 크기 예를들면, "abc"라는 문자열이 있고 key는 "aaa"라면 "abc"를 "aaa"로 암호화하면 "bcd"이다. a = 1, b = 2 이런식으로 알파벳을 순서대로 숫자로 변환해서 그 값을 더하는 원리! 즉, "abc" = 123 이고 "aaa" = 111이기때문에 각 자리수에 키값을 더하면 "234"이므로 이를 다시 문자로 변환하면 "bcd" 이다. rotation값이 2라면 문자열내에서 오른쪽으로 2칸을 이동하는 의미이다. 음수면 왼쪽으로 이동 예를들면, "bcd"에서 rotation값이 2라면 "cdb" rotation값이 -1라면 "cdb"이다..
백준 2920번 음계 [JAVA] 배열문제로 난이도는 하에 속하는 문제이다. 먼저 공백을 기준으로 입력된 값을 잘라 배열에 넣어준 후 배열 앞뒤의 값을 비교한다. 오름차순과 내림차순 변수를 각각 true로 설정하고 배열 안의 값을 비교했을 때, 오름차순이나 내림차순이 아니면 해당 변수를 false로 변환한다. 값을 전부 비교 후 변수의 값을 확인해서 답을 출력한다. public static void main(String[] args) { Scanner scan = new Scanner(System.in); String input = scan.nextLine(); String[] inputarray = input.split("\\s"); boolean ascending = true; boolean descending = true; for(..
#3 스택(Stack) 스택 자료구조 스택(Stack)은 데이터가 입력되면 입력되는 순서대로 쌓고, 나중에 들어온 것부터 먼저 사용하는 자료구조이다. LIFO(Last In First Out)형이라고 하며, 스택에 데이터를 넣는 것을 'PUSH' 데이터를 꺼내는 것을 'POP'이라고 한다. 스택 구현은 배열을 이용해도 되고 연결 리스트를 이용해도 된다. 스택 자료구조는 프로그램의 수행 과정에서 함수를 불러 수행하는 경우와 수식의 연산을 수행하는 과정에서 사용한다. *자바로 구현한 스택 package dataStructure; public class Stack { public static void main(String[] args) { java.util.Stack stack = new java.util.Stack(); Syste..
#2 리스트와 연결리스트 자료구조는 다양하지만 실제 자료구조를 구현하는 기술은 리스트와 연결 리스트 두 가지이다. 이 둘을 이용해 다양한 자료구조가 만들어진다. *리스트형 자료구조 연속적인 저장의 형태를 가진다. - 배열 : 크기가 변하지 않는 리스트형 자료구조, 중간의 값을 지워도 빈칸으로 유지한다. 배열의 장점 : 접근이 빠르다 (인덱스) 배열의 단점 : 데이터 추가 삭제가 어렵다. 최대 길이를 지정하면 변경이 어렵다. - 리스트 : 크기가 변하는 자료구조, 중간의 값을 지우면 뒤의 것이 앞으로 이동한다. JAVA에서는 배열과 Set으로 제공한다. *연결 리스트형 자료구조 프로그래머가 자체적으로 구현하여 사용한다. 데이터를 포인터로 연결하여 사용한다. - 연결 리스트 : 저장된 각 데이터가 데이터 + 다음 데이터의 포인터로 ..
#1 자료구조와 알고리즘이란? 자료구조란 ? - 대량의 데이터를 효율적으로 관리할 수 있는 데이터의 구조 - 데이터 구조, data structure 와 같은 의미 - 어떤 자료구조를 사용하느냐에 따라, 코드 효율이 달라짐 알고리즘이란 ? - 어떤 문제를 풀기 위한 절차/방법 - 특정한 '입력'을 넣으면, 원하는 '출력'을 얻을 수 있도록 만드는 프로그래밍 자료구조란 알로리즘을 구현하는 데 사용하는 것으로 리스트와 연결 리스트 두가지가 있다. 이 두가지 물리적 구조를 기반으로 다양한 사용법을 구현한 자료구조가 있다. - 리스트(List) : 각 데이터를 연이어 저장하는 기술 - 연결 리스트(Linked List) : 각 데이터를 임의의 위치에 저장하고 서로를 연결하는 기술 자주 사용하는 자료구조 - 배열, 스택, 큐, 트리/힙, 그래..
백준 7576번 토마토 [JAVA] BFS(너비우선탐색) 문제로 Java 유틸 중 queue를 써서 풀었다. 1이 입력된 x와 y좌표를 먼저 큐에 담고 그 좌표를 poll한 후 상하좌우 중 값이 0인 부분의 x, y좌표를 다시 큐에 넣는다. 이를 반복하고 큐가 비었을 때까지 다음과 같은 과정을 반복한다. 해당 과정을 마쳤을 때, 배열에 0이 있으면 -1을 리턴하고 아니면 max에서 -1한 값을 리턴하면 된다. import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; //토마토 public class Main_7576 { public static void main(String[] args) { Scanner scan = new Scanner(System.in..
백준 9461번 파도반 수열 [JAVA] DP알고리즘 문제로 규칙을 찾으면 쉽게 풀 수 있는 문제다. 1차원 배열을 선언해주고 index 4까지는 입력을 해준다 index 5부터는 알고리즘을 작성해서 입력한다. 규칙 P(N) = P(N-5) + P(N-1) 단, 배열을 int로 선언 할 경우, 범위를 초과해서 -값이 입력된다. 이를 방지하기위해 가장 큰 정수형 타입인 long으로 배열을 선언한다. package codingTest_backjoon; import java.util.Scanner; //파도반수열 public class Main_9461 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int num = scan.nextInt(); for..

반응형