Algorithm/Problem Solving 2020. 4. 22. 01:16

(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)

 

문제 링크

- https://www.acmicpc.net/problem/2133

 

사용 알고리즘

- DP

 

풀이

- d[i] = 3 * i를 채우는 방법의 수

- d[i] = 3 * d[i - 2] + 2 * d[i - 4] + 2 * d[i - 6] + ...

아래 그림의 경우도 고려해야 한다.

소스 코드

- https://github.com/moomini/algorithm/blob/master/boj/2133.cpp

#include <cstdio>
 
int d[33];
 
int main(void) {
    int n; scanf("%d"&n);
    d[0= 1;
    for (int i = 2; i <= n; i += 2) {
        d[i] += (3 * d[i - 2]);
        for (int j = i - 4; j >= 0; j -= 2) d[i] += (2 * d[j]);
    }
    printf("%d\n", d[n]);
    return 0;
}

Colored by Color Scripter

cs

'Algorithm > Problem Solving' 카테고리의 다른 글

[BOJ/2225] 합분해  (0) 2020.04.22
[BOJ/9461] 파도반 수열  (0) 2020.04.22
[BOJ/1699] 제곱수의 합  (0) 2020.04.20
[BOJ/2579] 계단 오르기  (0) 2020.04.20
[BOJ/1912] 연속합  (0) 2020.04.19
posted by DevMoomin
:
Spring/Solve 2020. 4. 22. 00:26

(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)

 

인텔리제이(IntelliJ)에서 서버가 실행된 상태로 JSP 파일을 수정 후 웹 브라우저를 새로고침 하면 변경한 결과가 반영되지 않는다. 서버를 껐다 켜야만 변경한 결과가 반영되는데, 아래 그림의 로그에서 알 수 있듯이 war explored라는 자바에서 패키징 되어있는 파일의 형태로 톰캣에 등록되어있기 때문이다. 설정을 변경하여 JSP 변경 결과를 서버에 바로 반영되도록 해보자.

1. 서버를 중지하고, 상단의 Edit Configurations...를 클릭

2. Deployment탭에서 우측의 연필모양 클릭

3. Output directory의 target부터 뒷 부분을 지우고, src\main\webapp로 수정 후 OK 클릭

4. OK 클릭

5. 서버를 실행하고, JSP 내용을 수정 후 새로고침하여 변경한 내역이 바로 반영되는 것 확인

posted by DevMoomin
:
Spring/Solve 2020. 4. 22. 00:14

(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)

 

인텔리제이(IntelliJ)에서 톰캣(Tomcat) 서버를 실행하면 아래 그림과 같이 문자열이 깨져서 보이는 경우가 있다. 간단한 설정을 통해 문자열을 정상적으로 표시할 수 있다.

1. 우측 상단의 Edit Configurations... 클릭

2. VM options에 -Duser.language=en -Duser.region=us를 입력하고 OK 클릭

3. 서버를 다시 실행하여 로그가 정상적으로 표시되는 것 확인

posted by DevMoomin
:
Spring/Study 2020. 4. 21. 23:08

(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)

 

스프링 부트(Spring Boot)는 상용화 가능한 제품 수준의 스프링 기반 애플리케션을 만들 때 빠르고, 쉽게 만들 수 있도록 도와준다.

 

1. Create New Project 클릭

2. 좌측의 Maven 선택 후 Next 클릭

3. Name, GroupId, ArtifactId 입력 후 Finish 클릭

4. pom.xml에 <parent>, <dependency>, <build> 추가

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
 
    <groupId>com.moomini</groupId>
    <artifactId>spring-boot-getting-started</artifactId>
    <version>1.0-SNAPSHOT</version>
 
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.6.RELEASE</version>
    </parent>
 
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
 
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>
cs

5. src\main\java 디렉토리를 생성하고, 그 안에 패키지 폴더 생성 후 Application.java 생성

6. Application.java에 @SpringBootApplication 어노테이션을 추가하고, 메인메소드에서 run 입력 후 실행

package com.moomini;
 
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
 
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
cs

7. localhost:8080에 접속해서 에러페이지가 정상적으로 표시되는 것 확인

posted by DevMoomin
:
Java/Install 2020. 4. 20. 23:46

(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)

 

IntelliJ IDEA는 코딩, 디버깅, 컴파일, 배포 등 프로그램 개발에 관련된 모든 작업을 하나의 프로그램에서 처리할 수 있는 IDE(Integrated Development Environment)의 한 종류이다. Net Beans, Eclipse와 함께 가장 많이 쓰이는 IDE이다.

 

1. JetBrains 공식 사이트에 접속 (https://www.jetbrains.com/)

2. 우측 상단의 메뉴를 클릭하고, IDEs의 IntelliJ IDEA 클릭

3. 중앙의 DOWNLOAD 클릭

4. Ultimate의 Download를 클릭하여 설치파일 다운로드

5. 다운받은 설치파일을 실행하고, Next 클릭

6. 설치 경로를 지정하고, Next 클릭

7. 바탕화면에 바로가기를 만들기 위해 64-bit launcher 체크Next 클릭

8. Install 클릭

9. Run IntelliJ IDEA 체크Finish 클릭

10. 약관 동의Continue 클릭

11. Don't Send 클릭

12. Skip Remaining and Set Defaults 클릭

13. 30일 무료버전을 사용하기 위해 Evaluate for free에서 Evaluate 클릭 (라이센스가 있는 경우 Activate IntelliJ IDEA에서 인증 진행)

14. IntelliJ IDEA가 정상적으로 실행되는 것을 확인

'Java > Install' 카테고리의 다른 글

이클립스(Eclipse) 나눔고딕 코딩 글꼴 설정  (0) 2020.04.07
posted by DevMoomin
:
Spring/Install 2020. 4. 20. 23:18

(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)

 

1. 이클립스(Eclipse)를 실행하고 하단의 Servers탭에서 No servers are available. Click this link to create a new server... 클릭

2. 설치한 Apache Tomcat의 버전을 선택Finish 클릭

3. Servers탭에서 추가된 Tomcat을 더블클릭

4. Use Tomcat installation, Publish module contexts to separate XML files를 선택하고, 포트번호를 8090으로 변경 후 저장

5. 서버 실행

6. 웹 브라우저에서 localhost:8090을 입력하여 정상적으로 실행이 되는 것 확인

'Spring > Install' 카테고리의 다른 글

이클립스(Eclipse)에 STS(Spring Tool Suite) 설치  (0) 2020.04.14
Apache Tomcat 설치  (0) 2020.04.07
Maven 설치  (0) 2020.04.07
posted by DevMoomin
:
Spring/Solve 2020. 4. 20. 22:34

(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)

 

터미널에서 Apache Tomcat을 실행하는 경우 아래 그림과 같이 한글이 깨져서 나타나는 경우가 있다.

터미널의 Encoding 문제인데, 터미널 제목 표시줄 마우스 우클릭 - 속성(P)을 클릭하여 확인해보면 현재 코드 페이지가 959로 되어있는 것을 확인할 수 있다. 이 값을 UTF-8인 65001로 변경하여 한글이 깨지는 문제를 해결할 수 있다.

1. Win + R 키를 눌러 실행에서 regedit을 입력하여 레지스트리 편집기 실행

2. HKEY_CURRENT_USER\Console 마우스 우클릭 - 새로 만들기(N) - 키(K) 클릭

3. HKEY_CURRENT_USER\ConsoleTomcat이라는 키 생성

4. 우측 영역에서 마우스 우클릭 - 새로 만들기(N) - DWORD(32비트) 값(D) 클릭

5. 이름을 CodePage로 지정하고, CodePage를 더블클릭하여 단위를 10진수, 값을 65001로 수정

6. 아래 그림과 같이 설정된 것을 확인하고 레지스트리 편집기 종료

7. 터미널에서 Apache Tomcat을 다시 실행하여 한글이 정상적으로 표시되는 것 확인

posted by DevMoomin
:
Algorithm/Problem Solving 2020. 4. 20. 22:06

(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)

 

문제 링크

- https://www.acmicpc.net/problem/1699

 

사용 알고리즘

- DP

 

풀이

- d[i] = i를 제곱수의 합으로 나타냈을 때, 필요한 항의 최소 개수

- d[i] = min(d[i - (j * j)] + 1) (1 <= i <= j * j)

 

소스 코드

- https://github.com/moomini/algorithm/blob/master/boj/1699.cpp

#include <cstdio>

 

int d[100003];

int a[100003];

 

int main(void) {

    int n; scanf("%d"&n);

    for (int i = 1; i <= n; ++i) {

        for (int j = 1; j * j <= i; ++j) {

            if (d[i] == 0) {

                d[i] = d[i - (j * j)] + 1;

            }

            else {

                if (d[i] > d[i - (j * j)] + 1) d[i] = d[i - (j * j)] + 1;

            }

        }

    }

    printf("%d\n", d[n]);

    return 0;

}

Colored by Color Scripter

cs

'Algorithm > Problem Solving' 카테고리의 다른 글

[BOJ/9461] 파도반 수열  (0) 2020.04.22
[BOJ/2133] 타일 채우기  (0) 2020.04.22
[BOJ/2579] 계단 오르기  (0) 2020.04.20
[BOJ/1912] 연속합  (0) 2020.04.19
[BOJ/11054] 가장 긴 바이토닉 부분 수열  (0) 2020.04.19
posted by DevMoomin
:
Algorithm/Problem Solving 2020. 4. 20. 21:25

(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)

 

문제 링크

- https://www.acmicpc.net/problem/2579

 

사용 알고리즘

- DP

 

풀이

- d[i] = i번째 계단에 올라갔을 때의 최대 점수

- d[i] = max(d[i - 2] + a[i], d[i - 3] + a[i - 1] + a[i])

1개 연속 : i - 2번째 계단은 밟고, i - 1번째 계단은 밟지 않아야 됨

2개 연속 : i - 3번째 계단은 밟고, i - 2번째 계단은 밟지 않고, i - 1번째 계단은 밟아야 됨

 

소스 코드

- https://github.com/moomini/algorithm/blob/master/boj/2579.cpp

#include <cstdio>
#include <algorithm>
 
using namespace std;
 
int d[303];
int a[303];
 
int main(void) {
    int n; scanf("%d"&n);
    int ans = -1;
    for (int i = 1; i <= n; ++i) {
        scanf("%d"&a[i]);
        if (i == 1) d[i] = a[i];
        else if (i == 2) d[i] = a[i] + a[i - 1];
        else d[i] = max(d[i - 2+ a[i], d[i - 3+ a[i - 1+ a[i]);
    }
    printf("%d\n", d[n]);
    return 0;
}

Colored by Color Scripter

cs

 

posted by DevMoomin
:
Algorithm/Problem Solving 2020. 4. 19. 21:12

(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)

 

문제 링크

- https://www.acmicpc.net/problem/1912

 

사용 알고리즘

- DP

 

풀이

- d[i] = a[i]를 가장 마지막으로 하는 가장 큰 연속합

- d[i] = max(d[i - 1] + a[i], a[i])

 

소스 코드

- https://github.com/moomini/algorithm/blob/master/boj/1912.cpp

#include <cstdio>

 

int d[100003];

int a[100003];

 

int main(void) {

    int n; scanf("%d"&n);

    int ans = -100000003;

    for (int i = 1; i <= n; ++i) {

        scanf("%d"&a[i]);

        d[i] = (a[i] > (d[i - 1+ a[i])) ? a[i] : d[i - 1+ a[i];

        if (ans < d[i]) ans = d[i];

    }

    printf("%d\n", ans);

    return 0;

}

Colored by Color Scripter

cs

posted by DevMoomin
: