전체 글

728x90
반응형

1.

Hyper-V 관리자->내 컴퓨터 클릭 ->새로 만들기 ->가상 컴퓨터 클릭

 

 

 

2. 가상 컴퓨터 이름 지정

 

 

 

 

 

3. 1세대 or 2세대 클릭 ( 1세대 권장!!) 

 

4. 메모리 지정(★중요메모리의 경우 HOST pc의 메모리를 끌어 쓰는것이기 때문에 잘 고려하여 할당한다)

 

 

5. 이미지 파일(다운 받았던 ISO 파일 선택)

 

6. 가상 컴퓨터 생성 완료

 

7. Windows Server 2022 Datacenter(Desktop Experience)설치

==> 서버 관리를 위한 모든 기능과 GUI가 포함된 완전한 버전 

8. 가상 머신의 드라이브에 O/S 설치

 

9. 비밀번호 설정 ==> 기본적인 환경구축 완료!

728x90
반응형
728x90
반응형

1. cmd -> systeminfo 입력

 

2. Hyper-v 요구사항 중 아니오 있을 경우 -> BIOS창에서 Virtualizaion(가상화) 항목 체크

※ BIOS 창은 메인보드 제조사별로 다르므로 구글링 하며 찾아볼것!

3. PowerShell 관리자로 실행

 

4.

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V –All

==>입력 후 재부팅

 

5.

DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V

==> 입력

설정 -> 앱 및 기능 -> 프로그램 및 기능 클릭
Windows 기능 켜기/끄기 클릭

6. 설정 -> 앱 및 기능 -> 프로그램 및 기능 클릭 -> Windows 기능 켜기/끄기 클릭

 

Hyper-V 모두 체크

7.  Hyper-V 하위 폴더도 모두 체크할것!

 

8. Hyper-V 관리자 생성 완료!

 

 

이제 Hyper-V관리자를 통해 VM 을 사용할 수 있는 환경을 구축 해보았다. 다음에는 구축을 위한 방법을 알아보도록 하겠다.

728x90
반응형
728x90
반응형

Hyper-V란?

 

1.Hyper-V는 마찬가지로 H/W 가상화를 제공하여 가상 컴퓨터가 가상 H/W에서 실행하게 끔 한다.

KeyPoint.

VMware와 비슷하지만, Windows PRO/Enterprise 환경에서 가상 머신을 생성/구동/관리 할 수 있게하는 HyperVisor이다.

 

2.하나의 물리 H/W가 여러 가상 머신들을 생성하여 안정적으로 사용할 수 있는 환경을 제공한다.

 

Hyper-V 를 사용하는 이유:

 

1. 이전 버전의 Windows 또는 Windows가 아닌 다른 O/S가 필요한 S/W 실행을 원할때

KeyPoint.

 Hyper-V를 사용시 다른 O/S를 아주 쉽게 만들고 제거할 수 있다.

 

2. Hyper-V를 사용하면 모든 가상 컴퓨터를 하나의 Desk-Top 또는 노트북에서 실행 할 수 있다.

 

728x90
반응형
728x90
반응형

VM(Virtual Machine)이란? 

 

-가상에 존재하는 머신(machine) = 컴퓨터라고 생각하면된다.  이 가상머신을 활용하면, 여러 대의 서버(컴퓨터)를 운영하는 효과를 낼 수 있다.

VM의 정의

VM의 특징 :

 

1. HDD 등의 H/W를 내 마음대로 여러 개 장책해서 테스트가 가능하다. 

==> 기업의 경우 RAID의 방식으로 여러 개의 HDD를 연결해 사용 할 때가 많은데, 이는 추후에 설명

 

2. 실무와 비슷한 네트워크 환경을 구성해 여러 대의 서버를 구축하고자 할때 사용한다.

 

3. 여러가지 o/s(LINUX, Windows 등등) 설치해서 학습하고자 할때 , 새로운 시스템을 도입하기 전 미리 테스트 해보고자 할때 사용하게 된다.

 

다음편 : 2편 Hyper-V

https://knowallworld.tistory.com/39

728x90
반응형
728x90
반응형

문제 3-1 

n명 중 두명을 뽑아 짝을 짓는다고 할때 짝을 지을 수 있는 모든 조합을 출력하는 알고리즘을 만들어 보세요.

import sys

def name(): 
    A = list(map(str,sys.stdin.readline().rstrip().split(' ')))
    #입력받는 A리스트
    B = list(set(A)) #집합의 규칙에 따라 중복값 삭제된 뒤 LIST에 저장
    def johab(n):
        C = []
        for i in range(len(n)-1): #집합 B의 길이보다 1을 빼는 이유는 끝 요소는 검사할 필요가 없기 때문이다.
            for j in range(i+1,len(n)): #다음요소부터 끝 요소
                C.append(n[i]+ '-'+n[j]) #C리스트에 조합 요소 추가
        return C
    for i in johab(B):
        print(i)
name()

문제 3-2

다음 식을 각각 대문자 O표기법으로 표현해 보세요.

A. 65536 ======> O(1)

B. n-1 =======> O(n)

C. (2*(n**2))/3 + 10000n =========>O(n**2)

D. 3*(n**4)-4*(n**3) + 5*(n**2)-6*n + 7 ===========> O(n**4)

 

 

 

===>대문자 O표기법 : 제일 큰 계수만 고려 나머지 애들은 무시

계산 복잡도 O(n**2)인 알고리즘은 입력 크기 n이 커지면 계산 시간은 그에 비례한다.

728x90
반응형
728x90
반응형

2292번 문제

import sys

N = int(sys.stdin.readline())
#2 3 4 5 6 7 ==> 1개(6개의 방)1
#8 9 10 11 12 13 14 15 16 17 18 19 ==>2개(12개의 방)3
#20 ~37 ==>3개(18개의 방)6
#38~61 ==> 4개(24개의 방)10
def func(n):
    range1=  int((6*n*(n-1)//2) + 2)
    #삼각수 잘 활용하기 ==> 한 방에 들어갈 범위 구하기
    return range1 
k =1
while True:
    if func(k)<=N<func(k+1):
    #구할 값이 func(k)와 func(k+1)에 있다면
        print(k+1)
        break
    elif N==1:
        print(int('1')) #1값은 1이므로 1출력하고 while문에서 벗어난다.   
        break     
    else:
        #구할 값이 func(k)와 func(k+1)에 없다면 k값을 1 더한다.
        k+=1

★★★KEY POINT★★★

삼각수의 규칙 수학 잘 알아보자

1 3 6 10 15 '''' ==> (n(n-1)/2) +1 

728x90
반응형
728x90
반응형

1065번 문제

등차수열을 갖고 있는 수를 구하라는 문제이다.

1. ex) 135 ==> 등차수열을 갖고있는 수

        12 ==> 등차수열 갖고있는 수

        3  ==> 등차수열 갖고있는 수

 

보다시피 100미만의 자연수는 등차수열을 갖고있다. 따라서 고려할때 3자리수 이상의 자연수만 고려 하면 좋을거 같다.

 

import sys

while True:
    N = int(sys.stdin.readline())
    if N<0 or N>200000:
        print("N값은 1000보다 작거나 같은 자연수입니다.")
    else:
        break

def solution(n):
    total = 0
    for i in range(N):
        d = [] #내가 새로 만들 등차수열 출력할 리스트
        b = list(str(i+1)) #i+1을 하는 이유?===> range(N)의 경우 0부터 출력되기때문
        #b = ['1'] ['1' , '5'] ''''' ==> 이런식으로 하나 하나씩 b객체에 저장된다.
        c = list(map(int,b))  #c 객체에 b객체에 있는 값을 int형 처리해준다.
        for j in range(len(c)): #c 객체의 길이 c의 형태는 c = [1] [4 , 5] [1 5 6] 이런식으로 되어있다.
            if len(c)<=2: #두자리수이하의 자연수는 모두 등차수열을 갖는 '한수' 이다.
                total+=1 #따라서 갯수를 모두 더해준다.
                break#break을 통해 더 볼것도 없이 그냥 반복문 나온다.
            else: 
                su, n ,n2= 0, 0 , 0
                n = c[1] - c[0]  
                n2 = c[1] - n 
                su = n*j + n2 #등차수열의 식이다.
                d.append(int(su)) #내가 새로 만든 등차수열 리스트 d 에 추가한다.
                #d = [1,0,-1]
                if c == d: #만약에 c , 즉 1부터 N까지 주르륵 만든 리스트값이 d와 동일하다면 
                    total+=1 #total로 더해준다.
    return total
print(solution(N))

한수 결과값

★중요 포인트★

 1. 등차수열을 구하는 새로운 나의 리스트와 1000까지 출력한 리스트 c와 같으면 total값을 증가시켜 갯수를 더한다.

2. c = list(map(int,b)) ==> b리스트의 값들을 정수로 바꾼다!

3. 알고리즘 순서 : 

    1) N까지의 리스트를 b에 1을 더한값으로 string 형태로 생성시킨다.

    2) 이 b리스트의 요소들의 값을 map함수를 활용하여 int형으로 변환시킨다.

    3) c리스트의 요소들의 길이만큼 반복문을 실행시킨다.

    4) c리스트의 요소들의 길이가 2이하라면 total값을 1씩 증가시킨다.

    5)c리스트의 요소들의 길이가 3이상이라면 c리스트의  

        인덱스 1번(c[1])과 0번(c[0]) 을 뺀값 = n

        인덱스 1번(c[1]) 과 n을 뺀값 = n2

        등차수열 = n * j(c리스트의 인덱스값을 range값으로 처리) + n2 가 된다.

   ex> 2 7 12 17 22 ==> 7-2 = n , 7-n = n2 ==> n=5 n2=2 ==> 5*j + 2(j는 인덱스 0부터) 가된다는 것을 알 수 있다.

 

     6) 이를 나만의 임의의 d리스트에 이 임의의 등차수열의 값들을 저장하게 된다.

  ex>

  1.

        b =['1','4','6'] c =[1,4,6] 

        n = 4-1 = 3

        n2 = 4- 3 = 1

        su = 3*j +1

        .

        .

        .

        d = [1,4,7] <==c리스트와 다르다!!!

        

 

2.

        b =['1','4','7'] c =[1,4,7]

        n = 4-1 = 3

        n2 = 4- 3 = 1

        su = 3*j +1

        .

        .

        .

        d = [1,4,7] <==c리스트와 같다!!!

        total+=1

     7) 이 c리스트가 d리스트안에 있는 리스트와 동일하다면 total값을 1씩 더해준다.

728x90
반응형

'Python(백준) > 함수' 카테고리의 다른 글

[Python][백준] 1065번: 한수  (0) 2022.09.14
[Python] 백준 15596번 정수 N개의합  (0) 2022.09.14
728x90
반응형

4344번 문제

#1 내방식

위와 같이 갯수가 틀릴경우 다시 설정해야한다. 하지만 아직 구현을 못하였다.

 

#2 구글링 방식

 

 

★★★★★

1. 점수의 범위 정하기

2. 테스트케이스 정하기

==> 구해야한다.

728x90
반응형

+ Recent posts