전체 글 (306)
2022-01-25 17:36:18
반응형

Eclipse에서 HTML 시작

 

HTML 실습

 

1. Eclipse 실행

2. [File] → [New] → [Dynamic Web Project]

- HTML Project 생성

3. [New Dynamic Web Project] Project name & Target runtime 설정 → Next

Project name : html_css

Target runtime : Apache Tomcat v8.5

4. [Next] 버튼 마우스로 클릭

5. [Finish] 버튼 마우스로 클릭

6. [WebContent] 선택 후 마우스 우클릭 → [New] → [HTML File]

- HTML 파일 생성

7. [New HTML File] → File name 입력 → [Finish] 버튼 마우스로 클릭

ex) File name : home.html

8. Templates : New HTML File (5) 선택 → [Finish] 버튼 마우스로 클릭

9. HTML File이 생성이 되면 아래와 같이 Missing node.js 팝업창이 발생 → 무시하고 OK 버튼 마우스로 클릭

10 . [Windows] → [Preferences] 

- UTF-8로 변경 설정

11. [Preferences] → [Web]

12.  [Web] → [CSS Files] → Encoding : ISO 10646/Unicode(UTF-8)로 변경

13.  [Web] → [HTML Files] → Encoding : ISO 10646/Unicode(UTF-8)로 변경

14. [Web] → [JSP Files] → Encoding : ISO 10646/Unicode(UTF-8)로 변경 → [Apply and Close] 버튼 마우스로 클릭

15. 생성한 HTML File 마우스로 우클릭 → Run As → 1 Run On Server 

16. [Run On Server] → [Finish] 버튼 마우스로 클릭 

17. Server 팝업창 열리면 OK 버튼 마우스로 클릭

The server may need be restarted. Do you want to restart the server? 

Restart server 체크

18. 

19.

20.

21. 

22.

23.

 

 

 출처

 

 

+ 강의 교재

반응형

'AI Bootcamp > HTML' 카테고리의 다른 글

[HTML] DOM TREE  (0) 2022.01.26
[HTML] Eclipse Apache Tomcat 연동  (0) 2022.01.24
2022-01-25 14:08:38
반응형

숫자 카드 2

 

 문제 설명

 

숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 몇 개 가지고 있는지 구하는 프로그램을 작성하시오.

 

 입력

 

첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,000,000보다 작거나 같다.

셋째 줄에는 M(1 ≤ M ≤ 500,000)이 주어진다. 넷째 줄에는 상근이가 몇 개 가지고 있는 숫자 카드인지 구해야 할 M개의 정수가 주어지며, 이 수는 공백으로 구분되어져 있다. 이 수도 -10,000,000보다 크거나 같고, 10,000,000보다 작거나 같다.

 출력

 

첫째 줄에 입력으로 주어진 M개의 수에 대해서, 각 수가 적힌 숫자 카드를 상근이가 몇 개 가지고 있는지를 공백으로 구분해 출력한다.

 예제 입출력

 

 Python 코드

 

from sys import stdin
from collections import Counter

# 1. n 입력
n = int(stdin.readline())

# 2. n개의 정수
arr = list(map(int, stdin.readline().split()))

# 3. m 입력
m = int(stdin.readline())

# 4. m개의 정수
find = list(map(int, stdin.readline().split())) 

# 5. counter 함수 활용
count = Counter(arr)

# print(count)
print(' '.join(str(count[x])   if x in count else '0' for x in find ))

* 참고 링크 : https://0equal2.tistory.com/62

 

 C++ 코드

 

#include <iostream> 
#include <vector> 
#include <algorithm> 

using namespace std; 

int n,m; 
vector<int> arr; 
vector<int> target; 

int main() { 
	ios_base :: sync_with_stdio(false); 
	cin.tie(NULL); cout.tie(NULL); 
	cin >> n; 
	
	int count[n]={0,}; 
	for(auto i = 0;i<n;i++) { 
		int x; 
		cin >> x; 
		arr.push_back(x); 
	} 
	
	sort(arr.begin(),arr.end()); 
	
	cin >> m; 
	for(auto i =0; i<m;i++) { 
		int x; 
		cin >> x; 
		
		cout << upper_bound(arr.begin(),arr.end(),x) - lower_bound(arr.begin(),arr.end(),x)<< " "; 
	} 
}

* 참고 링크 : https://tooo1.tistory.com/126

 출처

 

https://www.acmicpc.net/problem/10816

반응형
2022-01-25 00:46:39
반응형

소수찾기

 

 문제 설명

 

한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다.

각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요.

 

 제한 사항

 

  • numbers는 길이 1 이상 7 이하인 문자열입니다.
  • numbers는 0~9까지 숫자만으로 이루어져 있습니다.
  • "013"은 0, 1, 3 숫자가 적힌 종이 조각이 흩어져있다는 의미입니다.

 

 입출력 예

 

number return
"17" 3
"011" 2

 

 Python 코드

 

from itertools import permutations
 
def solution(numbers):
    
    # 소수 판별할 리스트 만들기
    num_list = [] # 전체 순열 넣어줄 리스트
    for i in range(1,len(numbers)+1) :
        test_list = permutations(numbers,i)       
        for j in test_list :
            num_list.append(int("".join(j)))
        
    num_list = set(num_list) # 중복과 0, 1 제외
    if 0 in num_list :
        num_list.remove(0)        
    if 1 in num_list :
        num_list.remove(1)
        
    # 소수 판별 
    answer = len(num_list) # 모든 수가 소수라 가정하고 시작
    for i in num_list :
        if i != 2 :
            for j in range(2,int(i**0.5)+1) :
                if i % j== 0 :
                    answer -=1
                    break
        
    return answer

* 참고 링크 : https://mentha2.tistory.com/8

 

 C++ 코드

 

#include<string>
#include<vector>
#include<cmath>
 
using namespace std;
 
bool Visit[10000000];
bool Select[10];
int Answer;
 
bool IsPrime(int N)
{
    if (N == 0 || N == 1) return false;
 
    for (int i = 2; i <= sqrt(N); i++)
    {
        if (N % i == 0) return false;
    }
    return true;
}
 
void DFS(int Cnt, string S, string Res)
{
    if(Res != "" && Visit[stoi(Res)] == false)
    {
        int Num = stoi(Res);
        Visit[Num] = true;
        if (IsPrime(Num) == true) Answer++;
    }
 
    for (int i = 0; i < S.length(); i++)
    {
        if (Select[i] == true) continue;
        Select[i] = true;
        DFS(Cnt + 1, S, Res + S[i]);
        Select[i] = false;
    }
}
 
int solution(string S)
{
    DFS(0, S, "");
    return Answer;
}

* 참고 링크 : https://yabmoons.tistory.com/336

 출처

 

https://programmers.co.kr/learn/courses/30/lessons/42839

반응형
2022-01-24 10:32:38
반응형

Apache Tomcat

 

 

 Apache Tomcat 연동

 

0. Eclipse Pakages → Eclipse IDE for Enterprise Java and Web Developers Download

https://www.eclipse.org/downloads/packages/

1. Apache Tomcat 공식 사이트 접속 

https://tomcat.apache.org/

2. Apache Tomcat 공식 사이트 → Download → Tomcat 8 마우스로 클릭

3. Tomcat 8 Software Downloads → 8.5.75 → zip 파일 다운로드

※ C:\ 경로 안에 새로 생성한 폴더 안에 압축 해제할 것 

EX) C:\TEST\apache-tomcat-8.5.75

4. Eclipse 실행 후 우측 상단에 Java EE 아이콘 마우스로 클릭

5. Eclipse 하단에 Servers 탭 → 빈 공간에 마우스로 우클릭 → New → Server

6. New Server → Apache 선택

7. New Server →  Apache → Tomcat v8.5 Server → Next

8. 설치할 디렉토리 설정

- Tomcat installation directory : apache-tomcat 압축 해제한 경로로 설정

EX) C:\TEST\apache-tomcat-8.5.75

- JRE : jdk-8.0.312.7-hotsopt 설정

9. Apache Tomcat Server 연동 완료 → Server  → Tomcat v8.5 Server at localhost [Stopped, Republish] 더블 클릭

10. 3가지 수정

Server Locations 

1. Use Tomcat installation (takes control of Tomcat installation) 체크 

Use custom location (does not modify Tomcat installation) - 수동으로 경로 설정

2. Deploy path : apache-tomcat-8.5.75\webapps 경로 설정

ex) C:\test\apache-tomcat-8.5.75\webapps

Ports

3. Port Name : HTTP/1.1  / Port Number : 8090으로 수정

11. Windows → Web Browser → 3 Chrome 마우스로 클릭

12. http://localhost:8090 접속 여부 확인

 

 출처

 

 

+ 강의 교재

반응형

'AI Bootcamp > HTML' 카테고리의 다른 글

[HTML] DOM TREE  (0) 2022.01.26
[HTML] Eclipse에서 HTML 시작  (0) 2022.01.25
2022-01-23 18:06:43
반응형

모의고사

 

 문제 설명

 

수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다.

1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ...
2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ...
3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ...

1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution 함수를 작성해주세요.

 

 제한 사항

 

  • 시험은 최대 10,000 문제로 구성되어있습니다.
  • 문제의 정답은 1, 2, 3, 4, 5중 하나입니다.
  • 가장 높은 점수를 받은 사람이 여럿일 경우, return하는 값을 오름차순 정렬해주세요.

 

 입출력 예

 

answers return
[1, 2, 3, 4, 5] [1]
[1, 3, 2, 4, 2] [1, 2, 3]

 

 Python 코드

 

def solution(answers):
    
    answer = []
    # 패턴정의
    first = [ 1,2,3,4,5 ]
    second = [ 2,1,2,3,2,4,2,5 ]
    third = [ 3,3,1,1,2,2,4,4,5,5 ]
    
    # 점수정의
    first_count = 0
    second_count = 0
    third_count = 0
    
    # 정답확인
    for number in range(len(answers)):
        if answers[ number ] == first[ number % 5 ]:
            first_count += 1
        if answers[ number ] == second[ number % 8 ]:
            second_count += 1
        if answers[ number ] == third[ number %10 ]:
            third_count += 1
    pre_answer = [ first_count,second_count,third_count ]   
    
    # 가장 많이 맞힌 사람
    for person, score in enumerate(pre_answer):
        if score == max(pre_answer):
            answer.append(person + 1)
    return answer

* 참고 링크 : https://sinsomi.tistory.com/entry/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EB%AA%A8%EC%9D%98%EA%B3%A0%EC%82%AC

 

 C++ 코드

 

#include <string>
#include <vector>
#include <algorithm>

using namespace std;

int test1[5] = {1, 2, 3, 4, 5};
int test2[8] = {2, 1, 2, 3, 2, 4, 2, 5};
int test3[10] = {3, 3, 1, 1, 2, 2, 4, 4, 5, 5};

vector<int> solution(vector<int> answers) {
    vector<int> answer;
    int score[3] = {0, };
    int max_score = 0;
    for (int i = 0; i < answers.size(); i++){
        if (answers[i] == test1[i % 5]) score[0] += 1;
        if (answers[i] == test2[i % 8]) score[1] += 1;
        if (answers[i] == test3[i % 10]) score[2] += 1;
    }
    max_score = max(max(score[0], score[1]), score[2]);
    for (int i = 0; i < 3; i++){
        if (score[i] == max_score)
            answer.push_back(i + 1);
    }
    return answer;
}

 

* 참고 링크 : https://rile1036.tistory.com/28

 

 출처

 

https://programmers.co.kr/learn/courses/30/lessons/42840

반응형
2022-01-21 09:05:28
반응형

Design Circular Queue

 

 문제 설명

 

Design your implementation of the circular queue. The circular queue is a linear data structure in which the operations are performed based on FIFO (First In First Out) principle and the last position is connected back to the first position to make a circle. It is also called "Ring Buffer".

One of the benefits of the circular queue is that we can make use of the spaces in front of the queue. In a normal queue, once the queue becomes full, we cannot insert the next element even if there is a space in front of the queue. But using the circular queue, we can use the space to store new values.

Implementation the MyCircularQueue class:

  • MyCircularQueue(k) Initializes the object with the size of the queue to be k.
  • int Front() Gets the front item from the queue. If the queue is empty, return -1.
  • int Rear() Gets the last item from the queue. If the queue is empty, return -1.
  • boolean enQueue(int value) Inserts an element into the circular queue. Return true if the operation is successful.
  • boolean deQueue() Deletes an element from the circular queue. Return true if the operation is successful.
  • boolean isEmpty() Checks whether the circular queue is empty or not.
  • boolean isFull() Checks whether the circular queue is full or not.

You must solve the problem without using the built-in queue data structure in your programming language. 

 

 제한 사항

 

  • 1 <= k <= 1000
  • 0 <= value <= 1000
  • At most 3000 calls will be made to enQueue, deQueue, Front, Rear, isEmpty, and isFull.

 

 입출력 예

 

Example 1:

Input
["MyCircularQueue", "enQueue", "enQueue", "enQueue", "enQueue", "Rear", "isFull", "deQueue", "enQueue", "Rear"]
[[3], [1], [2], [3], [4], [], [], [], [4], []]
Output
[null, true, true, true, false, 3, true, true, true, 4]

Explanation
MyCircularQueue myCircularQueue = new MyCircularQueue(3);
myCircularQueue.enQueue(1); // return True
myCircularQueue.enQueue(2); // return True
myCircularQueue.enQueue(3); // return True
myCircularQueue.enQueue(4); // return False
myCircularQueue.Rear();     // return 3
myCircularQueue.isFull();   // return True
myCircularQueue.deQueue();  // return True
myCircularQueue.enQueue(4); // return True
myCircularQueue.Rear();     // return 4

 

 Python 코드

 

Python code 

class MyCirculurQueue:
    def __init__(self, k):
        self.q = [None] * k
        self.maxlen = k
        self.p1 = 0
        self.p2 = 0

    # enQueue(): rear 포인터 이동
    def enQueue(self, value):
        if self.q[self.p2] is None:
            self.q[self.p2] = value
            self.p2 = (self.p2 + 1) % self.maxlen
            return True
        else:
            return False

    # deQueue(): front 포인터 이동
    def deQueue(self):
        if self.q[self.p1] is None:
            return False
        else:
            self.q[self.p1] = None
            self.p1 = (self.p1 + 1) % self.maxlen
            return True

    def Front(self):
        return -1 if self.q[self.p1] is None else self.q[self.p1]

    def Rear(self):
        return -1 if self.q[self.p2 - 1] is None else self.q[self.p2 - 1]

    def isEmpty(self):
        return self.p1 == self.p2 and self.q[self.p1] is None

    def isFull(self):
        return self.p1 == self.p2 and self.q[self.p1] is not None

* 참고 링크 : https://deep-learning-study.tistory.com/480

 

 C++ 코드

 

C ++ code


class MyCircularQueue {
public:
  MyCircularQueue(int k): q_(k) {}
  
  bool enQueue(int value) {
    if (isFull()) return false;
    q_[(head_ + size_) % q_.size()] = value;    
    ++size_;
    return true;
  }
  
  bool deQueue() {
    if (isEmpty()) return false;
    head_ = (head_ + 1) % q_.size();
    --size_;
    return true;
  }
 
  int Front() { return isEmpty() ? -1 : q_[head_]; }
 
  int Rear() { return isEmpty() ? -1 : q_[(head_ + size_ - 1) % q_.size()]; }
 
  bool isEmpty() { return size_ == 0; }
 
  bool isFull() { return size_ == q_.size(); }
private:
  vector<int> q_;
  int head_ = 0;
  int size_ = 0;
};

* 참고 링크 : https://zxi.mytechroad.com/blog/desgin/leetcode-622-design-circular-queue/

 

 출처

 

https://leetcode.com/problems/design-circular-queue/

반응형