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

 

1213번: 팰린드롬 만들기

첫째 줄에 문제의 정답을 출력한다. 만약 불가능할 때는 "I'm Sorry Hansoo"를 출력한다. 정답이 여러 개일 경우에는 사전순으로 앞서는 것을 출력한다.

www.acmicpc.net

 

-정답풀이:

알파벳에 해당하는 인덱스는 ord(name)-65하면 a가 0부터 시작한다.

odd_alpha는 갯수가 홀수개인 알파벳들 모아놓은 것 

인덱스+65를 chr한 값을 odd_alpha(문자열)에 더한다

alpha에는 갯수가 짝수개인 알파벳들이 들어가므로 인덱스+65인 문자값을 전체갯수//2만큼 더해주면 된다

14,15번은 내가 생각했던 부분

18번은 odd인 것들은 가운데 놔두고, alpha에 해당하는 문자들을 왼쪽에서는 그대로 나열하고, 오른쪽 alpha는 거꾸로 출력해준다

names=input()
name_cnt=[0 for _ in range(26)]
for name in names:
    name_cnt[ord(name)-65]+=1
cnt=0
odd_alpha=''
alpha=''
for i in range(26):
    if name_cnt[i]%2 ==1:
        cnt+=1
        odd_alpha +=chr(i+65)
    alpha +=chr(i+65)*(name_cnt[i]//2)
#알파벳 갯수 홀수인 수가 2개 이상이면 팰린드롬 못 만듦    
if cnt >=2:
    print("I'm Sorry Hansoo")
#갯수 홀수인 수 1개이하면 팰린드롬 만들 수 있음
else:
    print(alpha+odd_alpha+alpha[::-1])

-틀린풀이:

알파벳 개수가 홀수인 수가 2개 이상이면 팰린드롬이 안된다는 아이디어는 맞았는데 구현이 어려워서 팰린드롬 출력을 못했다

 

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

 

3109번: 빵집

유명한 제빵사 김원웅은 빵집을 운영하고 있다. 원웅이의 빵집은 글로벌 재정 위기를 피해가지 못했고, 결국 심각한 재정 위기에 빠졌다. 원웅이는 지출을 줄이고자 여기저기 지출을 살펴보던

www.acmicpc.net

 

맞왜틀이었다. 왜 틀린 건지 생각을 해봐야할 것 같다

 

-정답풀이:


-틀린 풀이:

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

 

1700번: 멀티탭 스케줄링

기숙사에서 살고 있는 준규는 한 개의 멀티탭을 이용하고 있다. 준규는 키보드, 헤어드라이기, 핸드폰 충전기, 디지털 카메라 충전기 등 여러 개의 전기용품을 사용하면서 어쩔 수 없이 각종 전

www.acmicpc.net

 

 

-정답풀이: 

 

-풀이 이해: 

1. 멀티탭이 비어있는지, 혹시 꽅으려고 하는 플러그가 있는지 확인

2. 플러그에 안 꽂혀져 있으면 해당 플러그를 꽂고 continue

 

3. 꽂혀져 있다면 플러그 하나를 뽑아야 한다

4. 다시 사용되지 않는 플러그를 우선적으로 뽑고(사용횟수가 가장 많은 것을 되도록이면 코드에서 빼지 않는 방향)

 

5. 꽂혀있는 플러그 중에서 가장 나중에 사용되는 플러그를 뽑는다 

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

 

-정답풀이:

이전에 풀었던 동전문제라 어렵지 않게 풀 수 있었다 

coin=[25,10,5,1]
n=int(input())
for _ in range(n):
    y=int(input())
    for i in coin:
        print(y//i, end=' ')
        y=y%i

 

-7월 8일 풀이: 

줄바꿈 없이 출력하는 방법 까먹었었다ㅋㅋ

print(~~~, end=' ') 기억하기!!

n=int(input())
data=[]
for _ in range(n):
    data.append(int(input()))
coins=[25,10,5,1]
for i in range(n):
    answer=[]
    for j in coins:
        answer.append(data[i]//j)
        data[i]=data[i]%j
    for i in range(len(answer)):
        print(answer[i],end=' ')

+ Recent posts