분류 전체보기 221

선형자료구조 - 스택(Stack)

Stack. 자료 구조 중 하나인 Stack은 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형 자료 구조 후입선출 자료 구조 Last In First Out : LIFO 데이터가 입력된 순서의 역순으로 처리되어야 할 때 사용 ex) 함수 콜 스택, 수식 계산, 인터럽트 처리, 웹브라우저 앞으로 / 뒤로 자바에서 스택을 사용하기 위해서 java.util 패키지에서 제공하는 Stack을 사용하면 된다. 기본 Stack 클래스 외에도 ArrayList로도 구현해보자. Stack 한장으로 정리해보기. Stack 주요 메서드. import java.util.Stack; public class Main { public static void main(String[] args) { // Stack 선언 Stack st..

230515 STUDY LOG.

목표. 비선형 자료구조 - 트리 강의 듣기. 선형 자료구조 정리 및 복습. 프리 코딩테스트 완료하기. 프론트엔드와 백엔드 차이 + 백엔드 개발자가 되고 싶은 이유 글쓰기. 진행 및 완료. [비선형 자료구조 - 트리 수강] 비선형 자료구조 - 트리 TRUE 비선형 자료구조 - 트리 문제 풀이 TRUE [선형 자료구조 정리 및 복습 - 연결리스트] 선형자료구조 - 연결리스트(LinkedList) [프리 코딩테스트] 프로그래머스 - 짝수는 싫어요 프로그래머스 - 숫자 문자열과 영단어 백준 9012번 - 괄호 백준 2830번 - 행성 X3 백준 10807번 - 개수 세기 [프론트엔드와 백엔드 차이+백엔드 개발자가 되고 싶은 이유 글쓰기] 작성중 오늘 후기. 비트 연산자 관련 코딩테스트 때문에 진땀을.. 부족함이..

STUDY LOG 2023.05.15

선형자료구조 - 연결리스트(LinkedList)

LinkedList. 선형으로 자료를 관리, 자료가 추가 될 때마다 메모리를 할당받고, 자료는 링크로 연결되어 물리적 위치와 논리적 위치가 다를 수 있음. 연결리스트의 각 요소는 다음 주소값을 가리키는 주소값을 가짐 물리적인 메모리가 떨어져 있어도 논리적으로는 앞뒤 순서가 있음. 같은 List 인터페이스를 구현한 ArrayList에 비해 중간에 자료를 삽입하고 제거하는데 시간이 적게 걸림 크기를 동적으로 증가할 수 있음 연결리스트의 각 요소는 요소의 자료와 다음 주소를 저장하는 부분으로 구현 또한 스택이나 큐에서 다양하게 활용할 수 있음 배열과 연결리스트의 차이점. 자료의 변동(수정, 삭제) 등이 많다면 연결리스트 사용 거의 없다면 배열을 사용하는게 좋다. 연결리트스 데이터 추가. 연결 리스트 가장 앞에..

백준 10807번 - 개수 세기

나의 풀이. 이미 풀어봤던 문제인데 이번에는 얼마전 라이브 세션에서 최빈값 구할 때 대표적인 방법이 getOrDefault() 메서드라고 배웠는데 이걸 사용해서 풀어보겠다. // 이전에 풀었던 방식 - 배열, 반복문 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int count = sc.nextInt(); int[] arr = new int[count]; int matchNumberCount = 0; for (int i = 0; i < count; i++) { arr[i] = sc.nextInt(); } int value = sc..

CODING TEST 2023.05.15

백준 2830번 - 행성 X3

나의 풀이. 비트연산자로 가볍게 풀 수 있다고 생각했던 내가... 또르르.. 먼저 각 A, B, C 라는 사람이 있으면 A와 B, A와 C, B와 C의 친밀도를 더해야 하는 문제다. 일단 여기서부터 문제 잘못해석해서 한 번 좌절.. 두번째로 거주민의 수 N의 범위에 좌절... int intimacy = 0; for (int i = 0; i 4 -> 2 -> 0이면 반복문 종료 if (tmp == 1) { // 1이면 countOneArray[index]++; // 해당 index에 1의 개수 증가 } index++; // index 증가 } } for (int i = 0; i < 20; i++){ answer += ..

CODING TEST 2023.05.15

백준 9012번 - 괄호

나의 풀이. 스택을 이용해 "(" 일때 put, ")" 일 때 pop()해서 현재 스택이 비었는지 확인하기. import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int inputCnt = sc.nextInt(); for (int i = 0; i < inputCnt; i++) { String inputStr = sc.next(); Stack stack = new Stack(); boolean checkFlag = true; for (String str : inputStr.split("")) { if (str.equals("(")) { stack.pu..

CODING TEST 2023.05.15

프로그래머스 - 숫자 문자열과 영단어

나의 풀이. 새로운 String배열을 만들어 각 문자열에 맞는 인덱스에 배열을 선언하고 할당한다. 새로운 String 배열을 반복하면서 String.replace() 메서드를 사용해 각 인덱스 요소가 있으면 String으로 변환한 index로 교체해준다. class Solution { public int solution(String s) { int answer = 0; String[] strArr = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"}; for (int i = 0; i < strArr.length; i++) { s = s.replace(strArr[i], String.valueOf(i)); } a..

CODING TEST 2023.05.15

프론트엔드와 백엔드 차이, 그리고 나는

개발자 직무 퍼블리셔. 웹사이트의 눈에 보이는 부분을 개발 HTML / CSS 를 이용해 디자이너가 작업한 결과물을 인터렉션과 관련된 디자인적인 코드만 작성(서버 통신 등 불가) JavaScript - 움직임만 구성 일반적으로 디자이너가 퍼블리셔로 전향하는 경우가 많기도 함 보통 프론트엔드 개발자가 함께 하기도 하지만 금융권 등에서 많이 필요로 하는 직군 모바일 앱 개발자. 안드로이드 개발자. 언어: Java/모던 언어로 Kotlin 발표(안드리오드에서 Java와 100% 호환 가능) Kotlin은 Python과 비슷하게 여러가지 목적으로 변환, 쓰일 수 있어 관심도가 높아지고 있다고 함 국내에서는 수요가 높음 iOS 개발자. 언어: Objective-C(과거), Swift, SwiftUI (객체지향, ..

ABOUT IT & ESSAY 2023.05.15

선형자료구조 - Array / ArrayList

배열(Array). 많은 수의 데이터를 다룰 때 자료를 순차적으로 관리하는 자료구조 각 데이터를 인덱스와 1:1 대응하도록 구성 데이터가 메모리 상에 연속적으로 저장되어 물리적 위치와 논리적 위치가 동일 배열의 선언과 초기화. 배열의 선언 자료형[] 배열 이름 = new 자료형[데이터 개수]; 자료형 배열 이름[] = new 자료형[데이터 개수]; int[] numbers = new int[10]; 인덱스 연산 []는 배열 처음 선언 시 사용한 연산자로 배열 이름에 []를 사용하는 것을 인덱스 연산이라고 함 배열 요소의 저장된 메모리 위치를 찾아 주는 역할로 numbers[0] 은 numbers 배열의 0번째 인덱스 요소 값에 접근하는 것 배열의 초기화 배열을 선언하면 그와 동시에 각 요소의 값이 초기화..