본문 바로가기
낙서

코딩테스트 저장용 낙서장

by xortl98 2022. 5. 3.
728x90
//프로그래머스 Level2 문제 

#include<iostream>
#include<algorithm>
#include<vector>
#include<string>

using namespace std;

bool compare(string a, string b)
{
	int a_num = a.length();
	int b_num = b.length();

	//천이 하나라도 껴있으면 오름 차순 
	if (a == "1000" || b == "1000") return a < b;


	if (a[0] == b[0])
	{
		if (a[1] == b[1])
		{
			//이 경우는 그냥 오름차순으로 넘길 수 있음 
			return a > b;
		}
		//같지 않거나 한자리 수가 1인 경우임 
		else
		{
			if (a_num == 1 || b_num == 1)
			{
				if (a_num == 1)
				{
					for (int i = 1; i < b_num; i++)
					{

					}
					
				}
			}
			//이 경우 그냥 오름차순으로 넘김 (그냥 추후 지워줘도 될듯)
			else
			{
				return a > b;
			}
		}
	}
	return a>b;
}

int main()
{
	vector<string> v;
	int v1[5] = { 3,30,34,5,9 };

	for (int i = 0; i < 5; i++)
	{
		string a = to_string(v1[i]);
		v.push_back(a);
	}

	sort(v.begin(), v.end(),compare);

	for (int i = 0; i < 5; i++)
	{
		cout << v[i] << " ";
	}
}

'낙서' 카테고리의 다른 글

군산공항 버스 시간표 12월 4일  (0) 2022.12.08
백준 브론즈 다 밀었음  (0) 2022.05.10
정보처리기사 필기 후기  (0) 2022.04.24
현재 백준 티어  (0) 2022.04.18