본문 바로가기

TIL

22.12.08_TIL_내배캠

 

이걸 내가 풀었다고 하기엔 어폐가 있고, 질문하기에 올라 와있는걸 보고 하였다..  

class Solution {
    public Long solution(String numbers) {
        String string_num = numbers
            .replace("zero", "0")
            .replace("one", "1")
            .replace("two", "2") 
            .replace("three", "3")
            .replace("four", "4")
            .replace("five", "5")
            .replace("six", "6")
            .replace("seven", "7")
            .replace("eight", "8")
            .replace("nine", "9");

        Long answer = Long.parseLong(string_num); #1
        return answer;
    }
}

#1 : 근데 이부분을  Integer.parseInt() 로 할 시, 제출할때 탈락하는데 이유를 모르겠다.  아래 다른분껄 살펴본 것도 Integer 로 할 시, 통과가 안 됨. 


나는 못풀겠어서.. 질문하기에 있는 함수를 보고 풀었는데..  다른분은 직접생각해서 아래와 같이 푸셨다..  코드가 길긴하지만 어떻게 이런 생각을 하신거지?..  알고있는 지식에서 조금더 응용하셔서 풀기.. 멋짐.. 

package org.example;


public class Main {
    public static void main(String[] args) {
        Solution solution =new Solution();
        String numbers="onetwothreefourfivesixseveneightnine";
        System.out.println(solution.solution(numbers));
    }
}

class Solution {
    public int solution(String numbers) {
        String answer = "";
        String separtedNum = "";

        for (int i=0; i< numbers.length();i++) {
            separtedNum += numbers.charAt(i); //#1

            switch (separtedNum) {
                case "one":
                    separtedNum="";
                    answer += "1";
                    break;
                case "two":
                    separtedNum="";
                    answer += "2";
                    break;
                case "three":
                    separtedNum="";
                    answer += "3";
                    break;
                case "four":
                    separtedNum="";
                    answer += "4";
                    break;
                case "five":
                    separtedNum="";
                    answer += "5";
                    break;
                case "six":
                    separtedNum="";
                    answer += "6";
                    break;
                case "seven":
                    separtedNum="";
                    answer += "7";
                    break;
                case "eight":
                    separtedNum="";
                    answer += "8";
                    break;
                case "nine":
                    separtedNum="";
                    answer += "9";
                    break;
                case "zero":
                    separtedNum="";
                    answer += "0";
                    break;
                default:
                    break;
            }
        }

        return Integer.parseInt(answer); //#2
    }
}

#1 : charAt이란 string 타입으로 받은 문자열을 char 타입으로 한 글자만 받는 함수 (https://crazykim2.tistory.com/412)

#2 : 문자열을 숫자로 바꿔줌. Long.parseLong() 도 있고, 다양한 타입이 있음. 


쿼리(Query)란: 데이터베이스에 정보를 요청하는 것.

DTO:전달할 정보만 담고 있는 상자. 


File –>> Settings –>> Editor –>> General –>> Auto Import –>> import문 즉시 추가, 최적화 체크 

하면 자동으로 import 된다.  (참고 : https://hjjungdev.tistory.com/102 )

 

코드스니펫 복붙하고 에러떠서 질문드리고 import로 고생하고 있으니 슬랙에 관련 내용 올라왔다고 알려주심. 


http://localhost:8080/h2-console

 

DB셋팅을 할때는 application.properties에 무언가를 적어야 한다. 


package com.sparta._221208_introduction_14.entity;

import lombok.Getter;
import lombok.NoArgsConstructor;

import javax.persistence.*;
import java.util.ArrayList;
import java.util.List;


@Getter //값을 가져올때 사용
@Entity //Entity로 만들어주겠다.
@NoArgsConstructor //기본생성자 생성
public class Member {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    @Column(nullable = false) //null이 아니고 꼭 값 필수.
    private String memberName; //멤버이름이 필요하다.

    @OneToMany(mappedBy = "member", fetch = FetchType.EAGER) //member 1(one)에 Order(many), mappedBy : 연관관계(Orders.JoinColumn) 의 주인 지정
    private List<Orders> orders = new ArrayList<>(); //여러가지 오더가 들어와야해서 리스트 형식.

    public Member(String memberName) {
        this.memberName = memberName;
    }
}

흠... 1-0~1-3초반에서 너무 스트레스 받지 말껄..

너무 스트레스 받아서, 웹개발종합반 환급신청하러 갔다가 이상한 문구에 끌려 해당사항 있나 찾아 보며 시간 허비하지 말걸...

 

큰 건 아니더라도, 한두가지씩 알겠다. 싶은게 나오니까 기분이 조금 나아진다.

 

 

'TIL' 카테고리의 다른 글

22.12.12_TIL_내배캠  (0) 2022.12.13
22.12.09_TIL_내배캠  (0) 2022.12.09
22.12.07_TIL_내배캠  (0) 2022.12.08
22.12.06_TIL_내배캠  (0) 2022.12.07
22.12.05_TIL_내배캠  (0) 2022.12.05