TIL 35

자연수 뒤집어 배열로 만들기

자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를 들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. class Solution {     public int[] solution(long n) {         String str = String.valueOf(n);         int len = str.length();                  int[] answer = new int[len];                  for (int i = 0; i         answer[i] = (int)(n % 10);         n /= 10;         }                  return answer;     } } 입력받은 숫자의 길..

TIL 2025.01.24

SQL NULL 처리하기

입양 게시판에 동물 정보를 게시하려 합니다. 동물의 생물 종, 이름, 성별 및 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요. 이때 프로그래밍을 모르는 사람들은 NULL이라는 기호를 모르기 때문에, 이름이 없는 동물의 이름은 "No name"으로 표시해 주세요.SELECT ANIMAL_TYPE, IF(NAME IS NULL, 'No name', NAME) NAME, SEX_UPON_INTAKEFROM ANIMAL_INSORDER BY ANIMAL_ID 문제를 풀며 SQL에도 조건문이 있다는 것을 알게 되었다.SQL의 조건문은 IF와 CASE가 있다.  IF문IF(조건, 조건이 참일 때, 조건이 거짓일 때) 삼항연산자와 비슷하다.예시는 위를 참고하면 된다.  CASE문IF문은 한개의 조건이었..

TIL 2025.01.23

스프링 프레임워크 기본 개념

Spring Framework의 등장Spring Framework는 애플리케이션 개발의 복잡성을 해결하기 위해 등장했다.개발자가 개발할 때 비즈니스 로직 외에도 서버의 성능, 신뢰성, 보안 등 다햔한 기술적 문제를 신경 써야 했다. 이런 매우 중요한 요소들을 모두 고려하면서 개발을 진행하는 것은 쉽지 않기에 개발 환경을 제공해주고 개발자는 비즈니스 로직에만 집중할 수 있게 도와준다. Spring Framework 특징 애플리케이션의 다양한 구성 요소를 유연하게 연결하고 관리할 수 있게 해준다.Spring Framework는 누구나 사용할 수 있는 오픈소스이다.모듈화되어 필요에 따라 특정 기능만 선택적으로 사용할 수 있다.Java언어의 가장 큰 특징인 객체 지향 언어의 특징을 살려낸 프레임워크이다. Spr..

TIL 2025.01.22

오늘 배운 것

네트워크인터넷과 인터넷 프로토콜(IP), IP 방식의 문제점과 그 대안이 되는 TCP, UDP에 대해 배웠습니다.또한 웹의 기초라고 할 수 있는 DNS, URI, URL, JSON과  서버의 성능 향상을 위한 Scale Up, Scale Out에 대해서 배웠습니다. 아주 중요한 HTTP에 대해서도 구조와 함께 Web Application을 배울 수 있었습니다. 학습량이 많고 처음 듣는 개념이 많았지만 오늘 하루고 알차게 보낸 것 같아 보람찼습니다.

TIL 2025.01.21

[키오스크 만들기] 키오스크 만들기 4일차

오늘은 Enum과 람다 & 스트림을 활용하여 키오스크를 개선하였습니다. Mainpackage com.example.kiosk7;import java.util.Arrays;import java.util.List;public class Main { public static void main(String[] args) { Menu burgermenu = new Menu("Burgers"); Menu drinkmenu = new Menu("Drinks"); Menu dessertmenu = new Menu("Desserts"); // add 함수를 통해 new shakeMenu(이름, 가격, 설명) List에 삽입 burgermenu.addMe..

TIL 2025.01.20

[키오스크 만들기] 키오스크 만들기 3일차

장바구니 기능을 고도화하여 다음과 같은 핵심 기능들을 추가 구현하였습니다. 사용자 편의성 개선상품 추가 전 확인 절차 기능 추가다중 상품 담기 기능 구현상품별 수량 지정 기능 추가주문 프로세스 강화장바구니 내 총 주문 금액 계산 기능 추가최종 주문 프로세스 구현 및 주문시 주문 받은 리스트를 초기화 try-catch를 활용한 예외 처리를 구현하면서 예외 처리 메커니즘에 대한 이해도를 높일 수 있었습니다.  package com.example.kiosk6;import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class Kiosk { private final List carts; private final L..

TIL 2025.01.17

[키오스크 만들기] 키오스크 만들기 2일차

장바구니 및 구매하기 기능을 추가하였습니다.package com.example.kiosk6;import java.util.Arrays;import java.util.List;public class Main { public static void main(String[] args) { Menu burgermenu = new Menu("Burgers"); Menu drinkmenu = new Menu("Drinks"); Menu dessertmenu = new Menu("Desserts"); // add 함수를 통해 new shakeMenu(이름, 가격, 설명) List에 삽입 burgermenu.addMenuItem(new MenuItem(..

TIL 2025.01.16

[스타크래프트 게임 출력] 2일차

Unit을 부모 클래스, Terran,Zerg,Protoss를 자식클래스로 만들어 Unit을 상속받은 형태로 코드를 구현하였다.Terran은 Unit의 attack, move와 같음Zerg는 move 시 +1,-1이 아닌, +2,-2 로 진행이 됨Protoss는 Zerg 객체를 Attack 시 damage가 x2가 됨move, attack은 추상화시켜 Override 하였다.package com.example;import java.util.Random;public abstract class Unit { private String name; private String description; protected String direction; private int speed; pri..

TIL 2025.01.15

[키오스크 만들기] 키오스크 만들기 1일차

package com.example.kiosk3;import java.util.ArrayList;import java.util.List;public class Main { public static void main(String[] args) { List menuItems = new ArrayList(); // add 함수를 통해 new MenuItem(이름, 가격, 설명) List에 삽입 menuItems.add(new MenuItem("ShakeBurger", 6.9, "토마토, 양상추, 쉑소스가 토핑된 치즈버거")); menuItems.add(new MenuItem("SmokeShake", 8.9, "베이컨, 체리 페퍼에 쉑소스가 토핑된 치즈버거..

TIL 2025.01.13