카테고리 없음

[Topcoder] SRM145 ~ SRM148

끄적끄적 2010. 5. 25. 18:42

1년이상 쉬었더니 기억이 가물가물.. 이제는 JAVA로 연습하기로 함.

SRM145 DIV2

class ImageDithering
{
 public  int count(String d, String[] s)
 {
  int ret = 0;
  
  for( int i = 0; i < s.length; i++)
  {
   String str = s[i];
   for( int j = 0; j < str.length(); j++)
   {
    String s1 = str.substring(j, j+1);
    
    for(int k =0; k < d.length(); k++)
    {
     if(s1.indexOf(d.substring(k, k+1)) != -1 )
     {
      ret++;
     }
    }      
   }
  }
    
  return ret;  
 }
}

SRM146 DIV2
Math.max(max, point[i]) 와 같이 쓸 수도 있다.

class YahtzeeScore
{
 public  int maxPoints(int[] toss)
 {   
  
  int[] point = new int[6];
  
  for( int i = 0; i< toss.length; i++)
  {
   point[toss[i]-1] += toss[i];
  }
  
  int max = 0;
  for(int i= 0; i < point.length; i++)
  {
   if( max < point[i]) max = point[i];
  }
 
  return max;  
 }
}

SRM147 DIV2
: java에서 String 을 char로 전환해서 처리하는 걸 몰라 그냥 substring으로 처리했음;
char []d = c.toCharArray(); 와 같이 변환해서 처리한 후에 String(d)와 같이 사용하면 됨.

class CCipher
{
 public  String decode(String c, int s)
 {  
  String alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  String ret = "";
  for(int i=0; i < c.length(); i++)
  {
   String a = c.substring(i, i+1);
   
   for(int j=0; j<alpha.length(); j++)
   {
    if(alpha.substring(j, j+1).equals(a))
    {
     int k = j - s;
     if( k < 0 ) k += 26;
     ret += alpha.substring(k, k+1);
    }
   }  
  }  
  return ret;
 }
}

SRM148 DIV2
: 나는 String으로 해서 하나씩 돌렸으나.. 다른사람들 보면 10으로 나누면서 10으로 나눈 나머지로 처리..

class DivisorDigits
{
 public int howMany(int number)
 { 
  int ret = 0;    
  String s = Integer.valueOf(number).toString(); 
  
  for(int i = 0; i< s.length(); i++)
  {
   String s0 =s.substring(i, i+1);   
   int k = Integer.valueOf(s0);
        
   if( k != 0 && number % k == 0) ret++;
  
  }
  
  return ret;
 }
}
반응형