algorithm/problem solving
acmicpc.net 1213(팰린드롬), 8892(팰린드롬), 1924
qkqhxla1
2016. 8. 27. 16:23
https://www.acmicpc.net/problem/1213
# -*- encoding: cp949 -*- n_list = [0 for i in xrange(26)] name = raw_input() for c in name: n_list[ord(c)-65] += 1 answer = '' flag = True if len(name)%2==0: for i in xrange(26): if n_list[i]%2==1: print "I'm Sorry Hansoo" flag = False break if flag: for i in xrange(26): if n_list[i] > 0: for j in xrange(n_list[i]/2): answer += chr(i+65) print answer+answer[::-1] else: odd = '' for i in xrange(26): if n_list[i]%2==1: odd += chr(i+65) if len(odd) > 1: print "I'm Sorry Hansoo" flag = False break if flag: for i in xrange(26): if n_list[i] > 0: for j in xrange(n_list[i]/2): answer += chr(i+65) print answer+odd+answer[::-1]
https://www.acmicpc.net/problem/8892
# -*- encoding: cp949 -*- t = int(raw_input()) answer = [] for i in xrange(t): test = [raw_input() for i in xrange(int(raw_input()))] z_flag = True end = False for j in xrange(len(test)): if end: break for k in xrange(len(test)): if j!=k: new = test[j]+test[k] flag = True for l in xrange(len(new)/2): if new[l] != new[len(new)-1-l]: flag = False break if flag: answer.append(new) z_flag = False end = True break if z_flag: answer.append('0') print '\n'.join(answer)
https://www.acmicpc.net/problem/1924
# -*- encoding: cp949 -*- import datetime d = {0:'MON',1:'TUE',2:'WED',3:'THU',4:'FRI',5:'SAT',6:'SUN'} x,y = map(int,raw_input().split()) print d[datetime.date(2007,x,y).weekday()]