-문제:https://www.acmicpc.net/problem/14659

 

풀이 없이 답안 작성한 문제(30분)

단순하게 i번째 인덱스 값보다 큰 j(i부터 n)인덱스의 수를 구하면 되는 거라 생각했는데,

그게 아니라 예제 6을 보면 10이 6보다 커서 더 진행할 수 없는데 뒤에 6보다 작은 2,5,7이 있어서 그것까지 세서 틀렸다

그래서 자기보다 큰수를 만났을 때 break를 걸었더니 금방 해결됐다

 

-정답풀이: 

n=int(input())
s=list(map(int,input().split()))
result=[0]*n
for i in range(n):
    for j in range(i,n):
        if s[i]<s[j]:
            break
        elif s[i]>s[j]:
            result[i]+=1
print(max(result))

-틀린풀이: 

-문제: https://www.acmicpc.net/problem/1343

 

생각보다 쉬웠던 문제다.근데 너무 어렵게 생각해서 접근이 안되었던 문제

이전에도 그렇고, 특정 문자를 다른 문자로 치환할 때는 replace()이용하는 거 꼭 한번 생각해보기 

갯수 찾고, 그거를 문자로 치환하고 다시 연결하고,, 이렇게 복잡한 과정이 있을 때는 replace 이용하면 되지 않을까?하고 replace 한번 사용해보자

 

이렇게 작성하면 replace가 일어나지 않아 틀린 답이 출력된다(7/13)

data.replace('XXXX','AAAA')
data.replace('XX','BB')

 

-정답풀이: 

board=input()

board=board.replace('XXXX','AAAA')
board=board.replace('XX','BB')

if 'X' in board:
    print(-1)
else:
    print(board)

-문제:https://www.acmicpc.net/problem/1041

 

1041번: 주사위

첫째 줄에 N이 주어진다. 둘째 줄에 주사위에 쓰여 있는 수가 주어진다. 위의 그림에서 A, B, C, D, E, F에 쓰여 있는 수가 차례대로 주어진다. N은 1,000,000보다 작거나 같은 자연수이고, 쓰여 있는 수

www.acmicpc.net

 

열심히 한번 풀어봤지만 틀렸던 문제 

 

-정답풀이: 

n=int(input())
nums=list(map(int,input().split()))
sum=0
sumLists=[]
if n==1:
    nums=sorted(nums)
    for i in range(0,5):
        sum+=nums[i]
else:
    sumLists.append(min(nums[0],nums[5]))
    sumLists.append(min(nums[1],nums[4]))
    sumLists.append(min(nums[2],nums[3]))
    sumLists=sorted(sumLists)
    
    min1=sumLists[0]
    min2=sumLists[0]+sumLists[1]
    min3=sumLists[0]+sumLists[1]+sumLists[2]
    
    n3=4
    n2=4*(2*n-3)
    n1=(n-2)*(n-2)+4*(n-1)*(n-2)
    
    sum+=n1*min1
    sum+=n2*min2
    sum+=n3*min3
print(sum)

 

-틀린 풀이: 

700

 

-문제: www.acmicpc.net/problem/15904

쉬운 문제인 줄 알고 풀었는데 계속 틀려서 뭐가 문제인지 몰랐던 문제다. 

 

-틀린풀이: 

주어진 문장에서 대문자인 것들만 뽑았을 때 그 값이 UCPC일 때 love를 출력하는 방식으로 생각했는데 

계속 틀린다고해서 무엇이 문제인지 몰라서 구글링을 했다 

 

 

-정답풀이:

주어진 문장에서 U,C,P,C가 있는지 순서대로 탐색하고, 있다면 해당 인덱스의 다음 인덱스부터 진행하면된다 

인덱스 슬라이싱을 이용하면 되는 문제라고 한다 

s=input()
check_list=['U','C','P','C']
i=0
for a in check_list:
    if a in s:
        i+=1
        s=s[s.index(a)+1:]
    else:
        print('I hate UCPC')
        break
if i==4:
    print('I love UCPC')

+ Recent posts