top of page

소스 코드 제출

공개·회원 50명

dasfasf


sta = []
t = True
a = input()
b = input()
if a != b :
    if len(a) < len(b) :
        t = False
    if len(a)==len(b):
        for i in range(len(a)):
            if int(a[i]) > int(b[i]) :
                t = True
                break
            elif int(a[i]) < int(b[i]) :
                t = False
                break
    if len(a) > len(b) or t == True :
        for i in range(len(a)) :
            sta.append(int(a[i]))
        sta = sta[::-1]
        b = b[::-1]
        for i in range(len(b)) :
            if sta[i] < int(b[i]) :
                sta[i] += 10
                sta[i + 1] -= 1
            sta[i] -= int(b[i])

    else:
        for i in range(len(b)) :
            sta.append(int(b[i]))
        sta = sta[::-1]
        a = a[::-1]
        for i in range(len(a)) :
            if sta[i] < int(a[i]) :
                sta[i] += 10
                sta[i + 1] -= 1
            sta[i] -= int(a[i])
    for i in range(len(sta)):
        if sta[-1] == 0 :
            sta.pop()
    sta = sta[::-1]

    if t == False:
        print('-', end='')

    for i in range(len(sta)) :
        print(sta[i], end='')
else :
    print(0)
'''
'''
queue = []
num = int(input())
for i in range(num) :
    cmd = input().split()
    if cmd[0] == 'push(' :
        queue.append(int(cmd[1]))
    elif cmd[0] == 'front()' :
        if len(queue) == 0:
            print(-1)
        else:
            print(queue[0])
    elif cmd[0] == 'back()' :
        if len(queue) == 0 :
            print(-1)
        else :
            print(queue[-1])
    elif cmd[0] == 'pop()' :
        if len(queue) != 0:
            queue.pop(0)
    elif cmd[0] == 'size()' :
        print(len(queue))
    elif cmd[0] == 'empty()' :
        if len(queue) == 0:
            print('true')
        else:
            print('false')

a = [1, 2,3 ,43 ]
# a.pop(0)
del a[0]
print(a)
'''
# python에서 정렬할때는
# a.sort() , reverse()
'''
정렬 알고리즘

code easy but slow          -> 걷기, 자전거, 버스          -> 버블, 선택, 삽입
code hard but fast          -> 비행기, ktx, 제트기        -> 퀵, 기수, 병합, 힙 ,,, 

'''
'''
l = []
num = int(input())
for i in range(num) :
    n = int(input())
    l.append(n)
for i in range(len(l)) :
    m = i
    for j in range(i, len(l)) :
        if l[j] < l[m]:
            m = j
    l[i], l[m] = l[m], l[i]
for i in range(len(l)):
    print(l[i])
    
    
    1 | 3 2 5 4
    1 3 | 2 5 4
    1 2 3 | 5 4
    1 2 3 5 | 4
    1 2 3 4 5
    
'''
'''
num = int(input())
l = []
a = []
for i in range(num) :
    n = int(input())
    l.append(n)
a.append(l[0])
for i in range(1, len(l)) :
    c = 0
    for j in range(len(a)-1, -1, -1) :
        if l[i] > a[j] :
            a.insert(j+1, l[i])
            c += 1
            break
    if c == 0 :
        a.insert(0, l[i])
for i in range(len(a)) :
    print(a[i])
'''
'''
num = int(input())
l = list(map(int, input().split()))
# l = []
#
# for i in range(num) :
#     n = int(input())
#     l.append(n)

for j in range(len(l)) :
    count = 0
    for i in range(len(l)-j-1) :
        if l[i] > l[i+1] :
            l[i], l[i+1] = l[i+1], l[i]
            count += 1
    if count == 0 :
        print(j)
        break
# for i in range(len(l)):
#     print(l[i])



자료구조 

스택 ㅇ큐ㅇ, 정렬ㅇ, 이진탐색
dfsㅇ / bfs


up down 게임


1 ~500 사이의 숫자 
before   순차탐색 
1. 1
2. 2
3. 3
...
500. 500

after 이진탐색  ( 탐색 범위를 줄여나가는거 )
1. 250
2. 125
3. 62
4. 31
5. 15
6. 7
7. 3
8. 2
9. 1

s .,... mid ...... e


'''

#       0,  4,
'''
def bs(k1, k2, m, c) :
    global k
    if m[c] == k[(k1+k2)//2] :
        return (k1+k2)//2
    elif k1>=k2:
        return -2
    elif m[c] < k[(k1+k2)//2] :
        return bs(k1, (k1+k2)//2-1, m, c)
    elif m[c] > k[(k1+k2)//2]:
        return bs((k1+k2)//2+1, k2, m, c)

n = int(input())
k = list(map(int, input().split()))
o = int(input())
m = list(map(int, input().split()))
c = 0
for i in range(o) :
    print(bs(0, len(k)-1, m, c)+1, end=' ')
    c += 1
'''
'''
def d_f(k, n1, n2) :
    global num
    if k <= num[(n1+n2)//2] and k > num[(n1+n2)//2-1]:
        return (n1+n2)//2
    elif min(num) > k :
        return 0
    elif max(num) < k :
        return len(num)
    elif k > num[(n1+n2)//2] :
        return d_f(k, (n1+n2)//2+1, n2)
    elif k < num[(n1+n2)//2] :
        return d_f(k, n1, (n1+n2)//2-1)
    return 0

n, k = map(int, input().split())
num = list(map(int, input().split()))
print(d_f(k, 0, len(num)-1)+1)
'''
def dfs1(x, y) :
    global l, M, N, c1

        l[x][y] = 1
        if y < N-1 :
            dfs1(x, y+1)
        if x < M-1 :
            dfs1(x+1, y)
        if y > 0 :
            dfs1(x, y-1)
        if x > 0 :
            dfs1(x-1, y)
        c1 += 1
        print(c1)
def dfs2(x, y):
    global l, M, N, c2
    if q[x][y] == 1:
        q[x][y] = 0
        if y < N-1 :
            dfs2(x, y+1)
        if x < M-1 :
            dfs2(x+1, y)
        if y > 0 :
            dfs2(x, y-1)
        if x > 0 :
            dfs2(x-1, y)
        c2 += 1
        print(c2)


M, N = map(int, input().split())
c2 = 0
c1 = 0
l = []
q = []
for i in range(M) :
    p = list(map(int, input().split()))
    l.append(p)
    q.append(p)
    
dfs1(0, 0)
dfs2(0, 0)
print(c1)
print(c2)

1회 조회
주소 : 경기도 용인시 광교중앙로 302 블루 스퀘어 602호
연락처 : 031) 216 - 1546 ,     031) 215 - 1546
사업자등록번호 : 465-92-00916
​학원 등록 제 4603호
bottom of page