반응형

[백준] 1012번 유기농 배추 - PYTHON  

 

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

 

1012번: 유기농 배추

차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 

www.acmicpc.net

T = int(input()) #테스트케이스의 개수

dx = [-1,1,0,0]
dy = [0,0,-1,1]

def BFS(x,y):           
    queue = [(x,y)]
    matrix[x][y] = 0 # 방문처리

    while queue:
        x,y = queue.pop(0)

        for i in range(4):
            nx = x + dx[i]
            ny = y + dy[i]

            if nx < 0 or nx >= M or ny < 0 or ny >= N:
                continue

            if matrix[nx][ny] == 1 :
                queue.append((nx,ny))
                matrix[nx][ny] = 0

# 행렬만들기
for i in range(T):
    M, N, K = map(int,input().split())
    matrix = [[0]*(N) for _ in range(M)]
    cnt = 0

    for j in range(K):
        x,y = map(int, input().split())
        matrix[x][y] = 1

    for a in range(M):
        for b in range(N):
            if matrix[a][b] == 1:
                BFS(a,b)
                cnt += 1

    print(cnt)

 

>1012_OrganicCabbage.py 
1
5 3 6
0 2
1 2
2 2
3 2
4 2
4 0
2
반응형
반응형

[백준] 1011번 FlymetotheAlphaCentauri - PYTHON


    Fly me to the Alpha Centauri
    https://www.acmicpc.net/problem/1011
 

  
    문제
         우현이는 어린 시절, 지구 외의 다른 행성에서도 인류들이 살아갈 수 있는 미래가 오리라 믿었다. 
        그리고 그가 지구라는 세상에 발을 내려 놓은 지 23년이 지난 지금, 세계 최연소 ASNA 우주 비행사가 되어 새로운 세계에 발을 내려 놓는 영광의 순간을 기다리고 있다.
         그가 탑승하게 될 우주선은 Alpha Centauri라는 새로운 인류의 보금자리를 개척하기 위한 대규모 생활 유지 시스템을 탑재하고 있기 때문에, 
        그 크기와 질량이 엄청난 이유로 최신기술력을 총 동원하여 개발한 공간이동 장치를 탑재하였다. 
        하지만 이 공간이동 장치는 이동 거리를 급격하게 늘릴 경우 기계에 심각한 결함이 발생하는 단점이 있어서, 
        이전 작동시기에 k광년을 이동하였을 때는 k-1 , k 혹은 k+1 광년만을 다시 이동할 수 있다. 
        예를 들어, 이 장치를 처음 작동시킬 경우 -1 , 0 , 1 광년을 이론상 이동할 수 있으나 사실상 음수 혹은 0 거리만큼의 이동은 의미가 없으므로
        1 광년을 이동할 수 있으며, 그 다음에는 0 , 1 , 2 광년을 이동할 수 있는 것이다. ( 여기서 다시 2광년을 이동한다면 다음 시기엔 1, 2, 3 광년을 이동할 수 있다. )
         김우현은 공간이동 장치 작동시의 에너지 소모가 크다는 점을 잘 알고 있기 때문에 x지점에서 y지점을 향해 최소한의 작동 횟수로 이동하려 한다. 
        하지만 y지점에 도착해서도 공간 이동장치의 안전성을 위하여 y지점에 도착하기 바로 직전의 이동거리는 반드시 1광년으로 하려 한다.
        김우현을 위해 x지점부터 정확히 y지점으로 이동하는데 필요한 공간 이동 장치 작동 횟수의 최솟값을 구하는 프로그램을 작성하라.
    입력
        입력의 첫 줄에는 테스트케이스의 개수 T가 주어진다. 각각의 테스트 케이스에 대해 현재 위치 x 와 목표 위치 y 가 정수로 주어지며, x는 항상 y보다 작은 값을 갖는다. (0 ≤ x < y < 231)
    출력
        각 테스트 케이스에 대해 x지점으로부터 y지점까지 정확히 도달하는데 필요한 최소한의 공간이동 장치 작동 횟수를 출력한다.


#테스트

t = int(input())

for _ in range(t):
    x, y = map(int,input().split())
    distance = y - x
    count = 0  # 이동 횟수
    move = 1  # count별 이동 가능한 거리
    move_plus = 0  # 이동한 거리의 합
    while move_plus < distance :
        count += 1
        move_plus += move  # count 수에 해당하는 move를 더함
        if count % 2 == 0 :  # count가 2의 배수일 때, 
            move += 1  
    print(count)
반응형
반응형

[백준] 1010번 다리놓기 - PYTHON

""" [백준] 1010번 다리놓기 - PYTHON
    1010번 bridge
    https://www.acmicpc.net/problem/1010
    
    문제
        재원이는 한 도시의 시장이 되었다. 이 도시에는 도시를 동쪽과 서쪽으로 나누는 큰 일직선 모양의 강이 흐르고 있다. 
        하지만 재원이는 다리가 없어서 시민들이 강을 건너는데 큰 불편을 겪고 있음을 알고 다리를 짓기로 결심하였다. 
        강 주변에서 다리를 짓기에 적합한 곳을 사이트라고 한다. 
        재원이는 강 주변을 면밀히 조사해 본 결과 강의 서쪽에는 N개의 사이트가 있고 동쪽에는 M개의 사이트가 있다는 것을 알았다. (N ≤ M)

        재원이는 서쪽의 사이트와 동쪽의 사이트를 다리로 연결하려고 한다. (이때 한 사이트에는 최대 한 개의 다리만 연결될 수 있다.) 
        재원이는 다리를 최대한 많이 지으려고 하기 때문에 서쪽의 사이트 개수만큼 (N개) 다리를 지으려고 한다. 
        다리끼리는 서로 겹쳐질 수 없다고 할 때 다리를 지을 수 있는 경우의 수를 구하는 프로그램을 작성하라.
    입력
        입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 
        그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다.
    출력
        각 테스트 케이스에 대해 주어진 조건하에 다리를 지을 수 있는 경우의 수를 출력한다.
        
        예제 입력 1 
            3
            2 2
            1 5
            13 29
        예제 출력 1 
            1
            5
            67863915        
"""

import math

T = int(input())

for _ in range(T):    
    n, m = map(int, input().split())
    bridge = math.factorial(m) // (math.factorial(n) * math.factorial(m - n))
    print(bridge)

#-----------------------------------------------------------------------------

import sys

t = int(sys.stdin.readline())

# 테스트 케이스만큼 반복
for _ in range(t):
    n, m = map(int, sys.stdin.readline().split())
    a = m
    b = n

    # mCn 구현
    for i in range(1, n):
        a *= m - i # m!
        b *= n - i # n!

    print(a // b) # m! // n!

 

 

 

반응형
반응형

ChatGPT Passes Google Coding Interview for Level 3 Engineer With $183K Salary

 

ChatGPT, $183,000 급여로 레벨 3 엔지니어를 위한 Google 코딩 인터뷰 통과

'놀랍게도 ChatGPT는 코딩 직책을 위해 인터뷰를 할 때 L3에 고용됩니다'라고 Google 문서를 읽지만 ChatGPT 자체는 인간의 창의성과 문제 해결 기술을 복제할 수 없다고 말합니다.

 

 

 

https://www.pcmag.com/news/chatgpt-passes-google-coding-interview-for-level-3-engineer-with-183k-salary

 

ChatGPT Passes Google Coding Interview for Level 3 Engineer With $183K Salary

'Amazingly, ChatGPT gets hired at L3 when interviewed for a coding position,' reads a Google document, but ChatGPT itself says it can't replicate human creativity and problem-solving skills.

www.pcmag.com

내부 문서에 따르면 Google은 코딩 인터뷰 질문을 ChatGPT 에 제공 했으며 AI의 답변을 기반으로 레벨 3 엔지니어링 위치에 고용될 것이라고 결정했습니다.

 

보고된 바와 같이(새 창에서 열립니다)CNBC에 따르면 이 실험은 Google이 최근 사이트에 추가할 것을 고려 중인 여러 AI 챗봇에 대한 테스트의 일환으로 수행되었습니다. 질문에 대한 간결하고 충실한 답변을 표시하는 ChatGPT의 기능은 사용자가 일반적으로 동일한 정보를 찾기 위해 Google에서 링크를 서핑하는 데 소요되는 시간을 절약할 수 있습니다.

"놀랍게도 ChatGPT는 코딩 직책을 위해 면접을 볼 때 L3에 고용됩니다."라고 문서에 나와 있습니다. 레벨 3은 Google 엔지니어링 팀의 초급 직책으로 간주되지만 평균 총 보수는 약 $183,000 입니다.(새 창에서 열립니다).

 

Google의 소프트웨어 엔지니어 인터뷰 프로세스(새 창에서 열립니다)ChatGPT가 통과한 기술적인 질문에 주로 의존합니다. 그러나 인터뷰에는 몇 가지 행동 예("시간에 대해 알려주세요...")가 포함되어 있지만 Facebook, Amazon 및 다른 사람들도 특히 ChatGPT를 "고용"하는 데 장벽이 될 수 있는 리더십 역할에 대해 이러한 질문에 의존합니다.

 

그러나 ChatGPT가 코딩 인터뷰의 기술적 질문을 통과할 수 있다는 발견은 플랫폼이 Google뿐만 아니라 그 뒤에 있는 엔지니어링 작업을 변화시킬 수 있는 능력에 대한 의문을 제기했습니다. 이것이 이미 일어나고 있습니까? 5년 또는 20년 후에 일어날 것입니까?

 

PCMag가 ChatGPT에게 소프트웨어 엔지니어를 대체할 것인지 물었을 때 확신하지 못했습니다.

AI는 "아니요, ChatGPT는 소프트웨어 엔지니어를 대체하지 않을 것"이라고 답했습니다. "ChatGPT는 특정 작업을 지원할 수 있는 도구이지만 인간 소프트웨어 엔지니어의 창의성, 문제 해결 기술 및 비판적 사고 능력을 완전히 대체할 수는 없습니다. 또한 ChatGPT를 효과적으로 작동하려면 인간의 감독과 지시가 필요합니다."

우리는 이것이 20년 후에 해당될 것인지 또는 낮은 수준의 위치가 더 위험할 수 있는지 물었고 ChatGPT는 그것이 낮은 수준의 위치에 영향을 미칠 수 있음을 인정했습니다. 그러나 완전한 대체가 아니라 인간 소프트웨어 엔지니어를 지원하는 도구가 될 것이라고 반복했습니다.

반응형

+ Recent posts