복습만이 살길이다...그렇다 이젠 주말만 보내도 새로 하는 느낌이 강하게 들어버린다.....
큰일이다 자격증 취득할수있을까...?
사전캠프의 마지막 주가 시작 되었는데
미니프로젝트 발제가 있었다
사전캠프를 하는 사람이라면 3일정도 여유시간을 얻은 그런 느낌이였다
조원 소개 페이지를 만드는 것이라서 다 같이 해야할듯하다.
그리하여 의견을 통합후 내일 3시에 만나서 회의를 하기로 하였다.
문제 설명
문자열 my_string이 매개변수로 주어질 때, my_string 안에 있는 숫자만 골라 오름차순 정렬한 리스트를 return 하도록 solution 함수를 작성해보세요.
제한사항
1 ≤ my_string의 길이 ≤ 100
my_string에는 숫자가 한 개 이상 포함되어 있습니다.
my_string은 영어 소문자 또는 0부터 9까지의 숫자로 이루어져 있습니다. - - -
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
//필요한 Java의 내장 라이브러리들을 임포트합니다.
//ArrayList, Collections와 List를 사용하기 위해 필요하다
class Solution {
public int[] solution(String my_string) {
//solution이라는 메서드를 선언, 이 메서드는 문자열 my_string을 파라미터로 받아,
//정수 배열을 반환
List<Integer> numbers = new ArrayList<>();
//숫자들을 저장할 numbers라는 이름의 리스트를 생성
for (char ch : my_string.toCharArray()) {
if (Character.isDigit(ch)) {
numbers.add(Character.getNumericValue(ch));
//my_string의 각 문자에 대해 다음의 작업을 수행합니다:
//1.my_string.toCharArray()를 사용하여 문자열을 문자 배열로 변환
//2.각 문자가 숫자인지를 Character.isDigit(ch)를 사용해 확인
//3.만약 해당 문자가 숫자라면, numbers 리스트에 그 숫자 값을 추가.
}
}
Collections.sort(numbers);//numbers 리스트에 저장된 숫자들을 오름차순으로 정렬
int[] answer = new int[numbers.size()];
for (int i = 0; i < numbers.size(); i++) {
answer[i] = numbers.get(i);
}
//이제 정렬된 numbers 리스트를 정수 배열로 변환합니다.
//1.answer라는 이름의 정수 배열을 생성하고, 그 길이를 numbers 리스트의 길이와 동일하게 설정
//2.반복문을 통해 numbers 리스트의 각 원소를 answer 배열에 순차적으로 저장
return answer;
}
}
문제 설명
문자열 my_string이 매개변수로 주어집니다. my_string에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 return하도록 solution 함수를 완성해주세요.
제한사항
1 ≤ my_string ≤ 110
my_string은 대문자, 소문자, 공백으로 구성되어 있습니다.
대문자와 소문자를 구분합니다.
공백(" ")도 하나의 문자로 구분합니다.
중복된 문자 중 가장 앞에 있는 문자를 남깁니다.
class Solution {
public String solution(String my_string) {
StringBuilder result = new StringBuilder(); // 결과 문자열을 저장할 StringBuilder
for (int i = 0; i < my_string.length(); i++) {
char currentChar = my_string.charAt(i);
if (result.indexOf(String.valueOf(currentChar)) == -1) {
result.append(currentChar);
}
}
return result.toString();
}
}
1.StringBuilder 객체인 result를 생성하여 중복되지 않은 문자들을 저장합니다.
2.입력 문자열 my_string의 각 문자에 대해 다음의 작업을 수행합니다:
3.result를 문자열로 변환하여 반환합니다.
알고리즘은 많이 풀어볼수록 도움이 된다는 말이 무슨 말인지 알것같다.
이게 뭔데?:
요소를 효율적이고 동적으로 배열할수있는 레이아웃 모델
1차원 공간에 균등하게 분산된 컨테이너 내부에 요소를 배치 가능
4가지의 레이아웃 법이 존재
Block
웹 페이지에서 섹션을 생성하기 위해 블록레이아웃을 사용
Inline
텍스트에 사용되는 레이아웃
Table
2차원 데이터가 있는 테이블에 사용
Positioned
요소의 특정위치에 사용
이 과정의 기본 코드 먼저작성 해 두겠다.
<!DOCTYPE html>
<html lang="en">
<head>
<title>Document</title>
<link rel="stylesheet" href="styles.css">
</head>
<style>
.container {
border: 3px solid lightgray;
display: flex;
flex-direction: column-reverse;
/* flex-direction: row | row-reverse | column | column-reverse */
}
.flex-item {
color: black;
font-size: 2rem;
padding: 1rem;
text-align: center;
}
.item-1 {
background-color: lightblue;
}
.item-2 {
background-color: lightyellow;
}
.item-3 {
background-color: lightpink;
}
</style>
<body>
<div class="container">
<div class="flex-item item-1">Item 1</div>
<div class="flex-item item-2">Item 2</div>
<div class="flex-item item-3">Item 3</div>
</div>
</body>
</html>
여러개를 추가했을때 크기를 맞추어서 자연스러운 줄바꿈
flex-wrap: wrap-reverse;
한줄로 가능해지는 배치의 신비함!!!!!
전반적으로 CSS는 이쁘게 꾸미는거야~라고 생각했는데 그것보다는 눈이 편안해지게 할수있는 능력을 가진 작업이라는걸 알게 되고 아직 까지 코드의 신비가 다양하다 느낀다.
드디어 복습이 끝났으니 다시 강의를 달릴 차례이다
선례를 까먹지 않으면서 나아가보도록 할것이다..
안되면 뭐 또 돌아가야지....
자바에도 많은 시간이 필요하지만 팀 프로젝트가 있으니까
자바는 조금 하고 Javascript에 시간을 좀 더 투자해야겠다.
⭐️ 외부 클래스의 필드와 클래스 접근 가능
⭐️ 외부 클래스의 클래스 필드만 접근 가능
⭐️ 내부 클래스에도 접근자 사용 가능
⚠️ static이 아닌 멤버 인스턴스 클래스에도 접근 불가!
⚠️ 인스턴스 메소드지만 클래스가 정적(클래스의)이므로 인스턴스 필드 접근 불가
스코프가 메소드 내로 제한됨
외부의 필드와 클래스에 접근은 가능
⭐️ 클래스가 클래스 필드인 것 - 아래의 변수는 인스턴스
💡 인스턴스 내부 클래스는 이렇게 얻을 수 있음
Outer.InnerInstMember innerInstMember = outer.getInnerInstMember(); innerInstMember.func();
public class YalcoChicken {
private String name;
public YalcoChicken (String name) {
this.name = name;
}
public static class LaunchTF {
private String title;
private String leader;
public LaunchTF(String title, String leader) {
this.title = title;
this.leader = leader;
}
public YalcoChicken launch () {
return new YalcoChicken(title);
}
}
class Gift {
private String message;
public Gift(String to) {
this.message = "From 얄코치킨 %s점 to %s님"
.formatted(name, to);
}
}
public Gift getGift (String to) {
return new Gift(to);
}
}
public class Main {
public static void main(String[] args) {
YalcoChicken.LaunchTF launchTF1 = new YalcoChicken.LaunchTF("마산", "김영희");
YalcoChicken.LaunchTF launchTF2 = new YalcoChicken.LaunchTF("영월", "이철수");
YalcoChicken store1 = launchTF1.launch();
YalcoChicken store2 = launchTF2.launch();
YalcoChicken.Gift [] gifts = {
store1.getGift("홍길동"),
store1.getGift("전우치"),
store2.getGift("옥동자")
};
}
}
이런식으로 클래스 내부에 클래스를 형성하여서 사용한다
이제야 드디어 나아갈수 있게끔 진도를 나아가지만
팀프로젝트도 있고 해서
자바 스크립트와 CSS HTML을 보기위해 과하게 진도를 나가지 않기로 했다.